From 867810ab8c59607730b6305ec41030b188866739 Mon Sep 17 00:00:00 2001 From: Michiyamenotehifunana <31995558+Michiyamenotehifunana@users.noreply.github.com> Date: Sat, 2 Dec 2017 00:06:42 +0800 Subject: [PATCH 001/134] massive overhaul of RGB stuff and massive additions halp --- code/citadel/cit_weapons.dm | 77 +++-- modular_citadel/citadel_ghostrole_spawners.dm | 43 +++ modular_citadel/cydonian_armor.dm | 160 ++++++++++ modular_citadel/hypereutactic_blade.dm | 278 ++++++++++++++++++ .../hypereutactic/item/hypereutactic.dmi | Bin 0 -> 1334 bytes .../hypereutactic/mob/hypereutactic_left.dmi | Bin 0 -> 2428 bytes .../hypereutactic/mob/hypereutactic_right.dmi | Bin 0 -> 3281 bytes .../icons/lavaknight/item/head.dmi | Bin 0 -> 377 bytes .../icons/lavaknight/item/suit.dmi | Bin 0 -> 1445 bytes modular_citadel/icons/lavaknight/mob/head.dmi | Bin 0 -> 568 bytes modular_citadel/icons/lavaknight/mob/suit.dmi | Bin 0 -> 3764 bytes tgstation.dme | 3 + 12 files changed, 533 insertions(+), 28 deletions(-) create mode 100644 modular_citadel/citadel_ghostrole_spawners.dm create mode 100644 modular_citadel/cydonian_armor.dm create mode 100644 modular_citadel/hypereutactic_blade.dm create mode 100644 modular_citadel/icons/hypereutactic/item/hypereutactic.dmi create mode 100644 modular_citadel/icons/hypereutactic/mob/hypereutactic_left.dmi create mode 100644 modular_citadel/icons/hypereutactic/mob/hypereutactic_right.dmi create mode 100644 modular_citadel/icons/lavaknight/item/head.dmi create mode 100644 modular_citadel/icons/lavaknight/item/suit.dmi create mode 100644 modular_citadel/icons/lavaknight/mob/head.dmi create mode 100644 modular_citadel/icons/lavaknight/mob/suit.dmi diff --git a/code/citadel/cit_weapons.dm b/code/citadel/cit_weapons.dm index c709fe90e9..b661294ae7 100644 --- a/code/citadel/cit_weapons.dm +++ b/code/citadel/cit_weapons.dm @@ -11,7 +11,7 @@ attack_verb = list("poked", "jabbed", "hit") light_color = "#37FFF7" var/light_brightness = 3 - actions_types = list(/datum/action/item_action/pick_color) + actions_types = list() /obj/item/toy/sword/cx/attack_self(mob/user) active = !( active ) @@ -57,18 +57,21 @@ var/mob/M = loc M.update_inv_hands() -/obj/item/toy/sword/cx/ui_action_click(mob/user, var/datum/action/A) - if(istype(A, /datum/action/item_action/pick_color)) - if(alert("Are you sure you want to recolor your blade?", "Confirm Repaint", "Yes", "No") == "Yes") - var/energy_color_input = input(usr,"Choose Energy Color") as color|null - if(energy_color_input) - light_color = sanitize_hexcolor(energy_color_input, desired_format=6, include_crunch=1) - update_icon() - update_light() - A.UpdateButtonIcon() +/obj/item/toy/sword/cx/AltClick(mob/living/user) + if(user.incapacitated() || !istype(user)) + to_chat(user, "You can't do that right now!") + return + if(!in_range(src, user)) + return + if(user.incapacitated() || !istype(user) || !in_range(src, user)) + return - else - ..() + if(alert("Are you sure you want to recolor your blade?", "Confirm Repaint", "Yes", "No") == "Yes") + var/energy_color_input = input(usr,"Choose Energy Color") as color|null + if(energy_color_input) + light_color = sanitize_hexcolor(energy_color_input, desired_format=6, include_crunch=1) + update_icon() + update_light() /obj/item/toy/sword/cx/worn_overlays(isinhands, icon_file) . = ..() @@ -79,7 +82,21 @@ . += blade_inhand /obj/item/toy/sword/cx/attackby(obj/item/W, mob/living/user, params) - return //NO MORE MAKING DUAL ESWORDS + if(istype(W, /obj/item/toy/sword/cx)) + if((W.flags_1 & NODROP_1) || (flags_1 & NODROP_1)) + to_chat(user, "\the [flags_1 & NODROP_1 ? src : W] is stuck to your hand, you can't attach it to \the [flags_1 & NODROP_1 ? W : src]!") + return + else + to_chat(user, "You combine the two plastic swords, making a single supermassive toy! You're fake-cool.") + new /obj/item/twohanded/hypereutactic/toy(user.loc) + qdel(W) + qdel(src) + else + return ..() + +/obj/item/toy/sword/cx/examine(mob/user) + ..() + to_chat(user, "Alt-click to recolor it.") /*///autolathe memes/// I really need to stop doing this and find a proper way of adding in my toys @@ -124,7 +141,7 @@ origin_tech = "combat=3;magnets=4" block_chance = 60 light_color = "#37FFF7" - actions_types = list(/datum/action/item_action/pick_color) + actions_types = list() /obj/item/melee/transforming/energy/sword/cx/transform_weapon(mob/living/user, supress_message_text) active = !active //I'd use a ..() here but it'd inherit from the regular esword's proc instead, so SPAGHETTI CODE @@ -152,9 +169,6 @@ update_icon() transform_messages(user, supress_message_text) add_fingerprint(user) - for(var/X in actions) - var/datum/action/A = X - A.UpdateButtonIcon() return TRUE /obj/item/melee/transforming/energy/sword/cx/transform_messages(mob/living/user, supress_message_text) @@ -181,18 +195,25 @@ var/mob/M = loc M.update_inv_hands() -/obj/item/melee/transforming/energy/sword/cx/ui_action_click(mob/user, var/datum/action/A) - if(istype(A, /datum/action/item_action/pick_color)) - if(alert("Are you sure you want to recolor your blade?", "Confirm Repaint", "Yes", "No") == "Yes") - var/energy_color_input = input(usr,"Choose Energy Color") as color|null - if(energy_color_input) - light_color = sanitize_hexcolor(energy_color_input, desired_format=6, include_crunch=1) - update_icon() - update_light() - A.UpdateButtonIcon() +/obj/item/melee/transforming/energy/sword/cx/AltClick(mob/living/user) + if(user.incapacitated() || !istype(user)) + to_chat(user, "You can't do that right now!") + return + if(!in_range(src, user)) + return + if(user.incapacitated() || !istype(user) || !in_range(src, user)) + return - else - ..() + if(alert("Are you sure you want to recolor your blade?", "Confirm Repaint", "Yes", "No") == "Yes") + var/energy_color_input = input(usr,"Choose Energy Color") as color|null + if(energy_color_input) + light_color = sanitize_hexcolor(energy_color_input, desired_format=6, include_crunch=1) + update_icon() + update_light() + +/obj/item/melee/transforming/energy/sword/cx/examine(mob/user) + ..() + to_chat(user, "Alt-click to recolor it.") /obj/item/melee/transforming/energy/sword/cx/worn_overlays(isinhands, icon_file) . = ..() diff --git a/modular_citadel/citadel_ghostrole_spawners.dm b/modular_citadel/citadel_ghostrole_spawners.dm new file mode 100644 index 0000000000..0b3797b88b --- /dev/null +++ b/modular_citadel/citadel_ghostrole_spawners.dm @@ -0,0 +1,43 @@ +/obj/effect/mob_spawn/human/lavaknight + name = "odd cryogenics pod" + desc = "A humming cryo pod. You can barely recognise a faint glow underneath the built up ice. The machine is attempting to wake up its occupant." + mob_name = "a displaced knight from another dimension" + icon = 'icons/obj/cryogenic2.dmi' + icon_state = "sleeper" + roundstart = FALSE + death = FALSE + random = TRUE + outfit = /datum/outfit/lavaknight + mob_species = /datum/species/human + flavour_text = "You are a knight who conveniently has some form of retrograde amnesia. \ + You cannot remember where you came from. However, a few things remain burnt into your mind, most prominently a vow to never harm another sapient being under any circumstances unless it is hellbent on ending your life. \ + Remember: hostile creatures and such are fair game for attacking, but under no circumstances are you to attack anything capable of thought and/or speech unless it has made it its life's calling to chase you to the ends of the earth." + assignedrole = "Cydonian Knight" + +/obj/effect/mob_spawn/human/lavaknight/special(mob/living/new_spawn) + if(ishuman(new_spawn)) + var/mob/living/carbon/human/H = new_spawn + H.dna.features["ears"] = "Cat" //cat people + H.update_body() + +/obj/effect/mob_spawn/human/lavaknight/Destroy() + new/obj/structure/showcase/machinery/oldpod/used(drop_location()) + return ..() + +/datum/outfit/lavaknight + name = "Cydonian Knight" + uniform = /obj/item/clothing/under/assistantformal + mask = /obj/item/clothing/mask/breath + shoes = /obj/item/clothing/shoes/sneakers/black + r_pocket = /obj/item/melee/transforming/energy/sword/cx + suit = /obj/item/clothing/suit/space/hardsuit/lavaknight + suit_store = /obj/item/tank/internals/oxygen + +/obj/effect/mob_spawn/human/lavaknight/captain + name = "odd gilded cryogenics pod" + desc = "A humming cryo pod that appears to be gilded. You can barely recognise a faint glow underneath the built up ice. The machine is attempting to wake up its occupant." + flavour_text = "You are a knight who conveniently has some form of retrograde amnesia. \ + You cannot remember where you came from. However, a few things remain burnt into your mind, most prominently a vow to never harm another sapient being under any circumstances unless it is hellbent on ending your life. \ + Remember: hostile creatures and such are fair game for attacking, but under no circumstances are you to attack anything capable of thought and/or speech unless it has made it its life's calling to chase you to the ends of the earth. \ + You feel a natural instict to lead, and as such, you should strive to lead your comrades to safety, and hopefully home. You also feel a burning determination to uphold your vow, as well as your fellow comrade's." + l_pocket = /obj/item/twohanded/hypereutactic \ No newline at end of file diff --git a/modular_citadel/cydonian_armor.dm b/modular_citadel/cydonian_armor.dm new file mode 100644 index 0000000000..0189358d36 --- /dev/null +++ b/modular_citadel/cydonian_armor.dm @@ -0,0 +1,160 @@ +/* + CYDONIAN ARMOR THAT IS RGB AND STUFF WOOOOOOOOOO +*/ + +/obj/item/clothing/head/helmet/space/hardsuit/lavaknight + name = "cydonian helmet" + desc = "A helmet designed with both form and function in mind, it protects the user against physical trauma and hazardous conditions while also having polychromic light strips." + icon = 'modular_citadel/icons/lavaknight/item/head.dmi' + icon_state = "knight_cydonia" + item_state = "knight_yellow" + item_color = null + alternate_worn_icon = 'modular_citadel/icons/lavaknight/mob/head.dmi' + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + resistance_flags = FIRE_PROOF | LAVA_PROOF + heat_protection = HEAD + armor = list(melee = 50, bullet = 10, laser = 10, energy = 10, bomb = 50, bio = 100, rad = 50, fire = 100, acid = 100) + brightness_on = 7 + allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/device/mining_scanner, /obj/item/device/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator) + var/energy_color = "#35FFF0" + var/obj/item/clothing/suit/space/hardsuit/lavaknight/linkedsuit = null + +/obj/item/clothing/head/helmet/space/hardsuit/lavaknight/New() + ..() + if(istype(loc, /obj/item/clothing/suit/space/hardsuit/lavaknight)) + linkedsuit = loc + +/obj/item/clothing/head/helmet/space/hardsuit/lavaknight/attack_self(mob/user) + on = !on + + if(on) + set_light(brightness_on) + else + set_light(0) + for(var/X in actions) + var/datum/action/A = X + A.UpdateButtonIcon() + +/obj/item/clothing/head/helmet/space/hardsuit/lavaknight/update_icon() + var/mutable_appearance/helm_overlay = mutable_appearance('modular_citadel/icons/lavaknight/item/head.dmi', "knight_cydonia_overlay", LIGHTING_LAYER + 1) + + if(energy_color) + helm_overlay.color = energy_color + + helm_overlay.plane = LIGHTING_PLANE + 1 //Magic number is used here because we have no ABOVE_LIGHTING_PLANE plane defined. Lighting plane is 15, HUD is 18 + + cut_overlays() //So that it doesn't keep stacking overlays non-stop on top of each other + + add_overlay(helm_overlay) + + emissivelights() + +/obj/item/clothing/head/helmet/space/hardsuit/lavaknight/equipped(mob/user, slot) + ..() + if(slot == slot_head) + emissivelights() + +/obj/item/clothing/head/helmet/space/hardsuit/lavaknight/dropped(mob/user) + ..() + emissivelightsoff() + +/obj/item/clothing/head/helmet/space/hardsuit/lavaknight/proc/emissivelights(mob/user = usr) + var/mutable_appearance/energy_overlay = mutable_appearance('modular_citadel/icons/lavaknight/mob/head.dmi', "knight_cydonia_overlay", LIGHTING_LAYER + 1) + energy_overlay.color = energy_color + energy_overlay.plane = LIGHTING_PLANE + 1 + user.cut_overlay(energy_overlay) //honk + user.add_overlay(energy_overlay) //honk + +/obj/item/clothing/head/helmet/space/hardsuit/lavaknight/proc/emissivelightsoff(mob/user = usr) + user.cut_overlay() + linkedsuit.emissivelights() //HONK HONK HONK MAXIMUM SPAGHETTI + user.regenerate_icons() //honk + +/obj/item/clothing/suit/space/hardsuit/lavaknight + icon = 'modular_citadel/icons/lavaknight/item/suit.dmi' + icon_state = "knight_cydonia" + name = "cydonian armor" + desc = "A suit designed with both form and function in mind, it protects the user against physical trauma and hazardous conditions while also having polychromic light strips." + item_state = "swat_suit" + alternate_worn_icon = 'modular_citadel/icons/lavaknight/mob/suit.dmi' + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + resistance_flags = FIRE_PROOF | LAVA_PROOF + armor = list(melee = 50, bullet = 10, laser = 10, energy = 10, bomb = 50, bio = 100, rad = 50, fire = 100, acid = 100) + allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/storage/bag/ore, /obj/item/pickaxe) + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/lavaknight + heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + actions_types = list(/datum/action/item_action/toggle_helmet) + var/obj/item/clothing/head/helmet/space/hardsuit/lavaknight/linkedhelm + + var/energy_color = "#35FFF0" + +/obj/item/clothing/suit/space/hardsuit/lavaknight/New() + ..() + if(helmet) + linkedhelm = helmet + light_color = energy_color + set_light(1) + +/obj/item/clothing/suit/space/hardsuit/lavaknight/Initialize() + ..() + update_icon() + +/obj/item/clothing/suit/space/hardsuit/lavaknight/update_icon() + var/mutable_appearance/suit_overlay = mutable_appearance('modular_citadel/icons/lavaknight/item/suit.dmi', "knight_cydonia_overlay", LIGHTING_LAYER + 1) + + if(energy_color) + suit_overlay.color = energy_color + + suit_overlay.plane = LIGHTING_PLANE + 1 //Magic number is used here because we have no ABOVE_LIGHTING_PLANE plane defined. Lighting plane is 15. + + cut_overlays() //So that it doesn't keep stacking overlays non-stop on top of each other + + add_overlay(suit_overlay) + +/obj/item/clothing/suit/space/hardsuit/lavaknight/equipped(mob/user, slot) + ..() + if(slot == slot_wear_suit) + emissivelights() + +/obj/item/clothing/suit/space/hardsuit/lavaknight/dropped(mob/user) + ..() + emissivelightsoff() + +/obj/item/clothing/suit/space/hardsuit/lavaknight/proc/emissivelights(mob/user = usr) + var/mutable_appearance/energy_overlay = mutable_appearance('modular_citadel/icons/lavaknight/mob/suit.dmi', "knight_cydonia_overlay", LIGHTING_LAYER + 1) + energy_overlay.color = energy_color + energy_overlay.plane = LIGHTING_PLANE + 1 + user.cut_overlay(energy_overlay) //honk + user.add_overlay(energy_overlay) //honk + +/obj/item/clothing/suit/space/hardsuit/lavaknight/proc/emissivelightsoff(mob/user = usr) + user.cut_overlays() + user.regenerate_icons() //honk + +/obj/item/clothing/suit/space/hardsuit/lavaknight/AltClick(mob/living/user) + if(user.incapacitated() || !istype(user)) + to_chat(user, "You can't do that right now!") + return + if(!in_range(src, user)) + return + if(user.incapacitated() || !istype(user) || !in_range(src, user)) + return + + if(alert("Are you sure you want to recolor your armor stripes?", "Confirm Repaint", "Yes", "No") == "Yes") + var/energy_color_input = input(usr,"Choose Energy Color") as color|null + if(energy_color_input) + energy_color = sanitize_hexcolor(energy_color_input, desired_format=6, include_crunch=1) + user.update_inv_wear_suit() + if(linkedhelm) + linkedhelm.energy_color = sanitize_hexcolor(energy_color_input, desired_format=6, include_crunch=1) + user.update_inv_head() + linkedhelm.update_icon() + update_icon() + user.update_inv_wear_suit() + light_color = energy_color + emissivelights() + update_light() + +/obj/item/clothing/suit/space/hardsuit/lavaknight/examine(mob/user) + ..() + to_chat(user, "Alt-click to recolor it.") \ No newline at end of file diff --git a/modular_citadel/hypereutactic_blade.dm b/modular_citadel/hypereutactic_blade.dm new file mode 100644 index 0000000000..e96789c43f --- /dev/null +++ b/modular_citadel/hypereutactic_blade.dm @@ -0,0 +1,278 @@ +/* fuckhuge esword thingy */ + +/obj/item/twohanded/hypereutactic + icon = 'modular_citadel/icons/hypereutactic/item/hypereutactic.dmi' + icon_state = "hypereutactic" + lefthand_file = 'modular_citadel/icons/hypereutactic/mob/hypereutactic_left.dmi' + righthand_file = 'modular_citadel/icons/hypereutactic/mob/hypereutactic_right.dmi' + item_state = "hypereutactic" + inhand_x_dimension = 64 + inhand_y_dimension = 64 + name = "hypereutactic blade" + desc = "A supermassive weapon envisioned to cleave the very fabric of space and time itself in twain, the hypereutactic blade dynamically flash-forges a hypereutactic crystaline nanostructure capable of passing through most known forms of matter like a hot knife through butter." + force = 3 + throwforce = 5 + throw_speed = 3 + throw_range = 5 + w_class = WEIGHT_CLASS_SMALL + var/w_class_on = WEIGHT_CLASS_BULKY + force_unwielded = 3 + force_wielded = 40 + wieldsound = 'sound/weapons/nebon.ogg' + unwieldsound = 'sound/weapons/neboff.ogg' + hitsound = "swing_hit" + armour_penetration = 40 + origin_tech = "magnets=6;syndicate=1" + light_color = "#37FFF7" + attack_verb = list("attacked", "slashed", "stabbed", "sliced", "destroyed", "ripped", "devastated", "shredded") + block_chance = 75 + max_integrity = 200 + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 70) + resistance_flags = FIRE_PROOF + var/brightness_on = 6 //TWICE AS BRIGHT AS A REGULAR ESWORD + flags_2 = SLOWS_WHILE_IN_HAND_2 + +/obj/item/twohanded/hypereutactic/wield(mob/living/carbon/M) //Specific wield () hulk checks due to reflection chance for balance issues and switches hitsounds. + if(M.has_dna()) + if(M.dna.check_mutation(HULK)) + to_chat(M, "You lack the grace to wield this!") + return + ..() + if(wielded) + sharpness = IS_SHARP + w_class = w_class_on + hitsound = 'sound/weapons/nebhit.ogg' + START_PROCESSING(SSobj, src) + set_light(brightness_on) + slowdown = 1 + +/obj/item/twohanded/hypereutactic/unwield() //Specific unwield () to switch hitsounds. + sharpness = initial(sharpness) + w_class = initial(w_class) + ..() + hitsound = "swing_hit" + STOP_PROCESSING(SSobj, src) + set_light(0) + slowdown = initial(slowdown) + +/obj/item/twohanded/hypereutactic/update_icon() + var/mutable_appearance/blade_overlay = mutable_appearance('modular_citadel/icons/hypereutactic/item/hypereutactic.dmi', "hypereutactic_blade") + var/mutable_appearance/gem_overlay = mutable_appearance('modular_citadel/icons/hypereutactic/item/hypereutactic.dmi', "hypereutactic_gem") + + if(light_color) + blade_overlay.color = light_color + gem_overlay.color = light_color + + cut_overlays() //So that it doesn't keep stacking overlays non-stop on top of each other + + add_overlay(gem_overlay) + + if(wielded) + add_overlay(blade_overlay) + + if(ismob(loc)) + var/mob/M = loc + M.update_inv_hands() + + clean_blood()//blood overlays get weird otherwise, because the sprite changes. (retained from original desword because I have no idea what this is) + +/obj/item/twohanded/hypereutactic/AltClick(mob/living/user) + if(user.incapacitated() || !istype(user)) + to_chat(user, "You can't do that right now!") + return + if(!in_range(src, user)) + return + if(user.incapacitated() || !istype(user) || !in_range(src, user)) + return + + if(alert("Are you sure you want to recolor your blade?", "Confirm Repaint", "Yes", "No") == "Yes") + var/energy_color_input = input(usr,"Choose Energy Color") as color|null + if(energy_color_input) + light_color = sanitize_hexcolor(energy_color_input, desired_format=6, include_crunch=1) + update_icon() + update_light() + +/obj/item/twohanded/hypereutactic/worn_overlays(isinhands, icon_file) + . = ..() + if(isinhands) + var/mutable_appearance/gem_inhand = mutable_appearance(icon_file, "hypereutactic_gem") + gem_inhand.color = light_color + . += gem_inhand + if(wielded) + var/mutable_appearance/blade_inhand = mutable_appearance(icon_file, "hypereutactic_blade") + blade_inhand.color = light_color + . += blade_inhand + +/obj/item/twohanded/hypereutactic/examine(mob/user) + ..() + to_chat(user, "Alt-click to recolor it.") + + + +////////// stuff beneath this is all taken from the desword //////////// + + + +/obj/item/twohanded/hypereutactic/attack(mob/target, mob/living/carbon/human/user) + if(user.has_dna()) + if(user.dna.check_mutation(HULK)) + to_chat(user, "You grip the blade too hard and accidentally close it!") + unwield() + return + ..() + if(user.disabilities & CLUMSY && (wielded) && prob(40)) + impale(user) + return + +/obj/item/twohanded/hypereutactic/Destroy() + STOP_PROCESSING(SSobj, src) + . = ..() + +/obj/item/twohanded/hypereutactic/proc/impale(mob/living/user) + to_chat(user, "You spin around a bit before losing your balance and impaling yourself on [src].") + if (force_wielded) + user.take_bodypart_damage(20,25) + else + user.adjustStaminaLoss(25) + +/obj/item/twohanded/hypereutactic/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) + if(wielded) + return ..() + return 0 + +/obj/item/twohanded/hypereutactic/attack_hulk(mob/living/carbon/human/user, does_attack_animation = 0) //In case thats just so happens that it is still activated on the groud, prevents hulk from picking it up + if(wielded) + to_chat(user, "You can't pick up such dangerous item with your meaty hands without losing fingers, better not to!") + return 1 + +/obj/item/twohanded/hypereutactic/process() + if(wielded) + open_flame() + else + STOP_PROCESSING(SSobj, src) + +/obj/item/twohanded/hypereutactic/IsReflect() + if(wielded) + return 1 + +/obj/item/twohanded/hypereutactic/ignition_effect(atom/A, mob/user) + // same as /obj/item/melee/transforming/energy, mostly + if(!wielded) + return "" + var/in_mouth = "" + if(iscarbon(user)) + var/mob/living/carbon/C = user + if(C.wear_mask == src) + in_mouth = ", barely missing their nose" + . = "[user] swings [user.p_their()] [src][in_mouth]. [user.p_they()] light[user.p_s()] [A] in the process." + playsound(loc, hitsound, get_clamped_volume(), 1, -1) + add_fingerprint(user) + + +////////////////// TOY VERSION ///////////////////////////// + +/obj/item/twohanded/hypereutactic/toy + name = "\improper DX Hyper-Euplastic LightSword" + desc = "A supermassive toy envisioned to cleave the very fabric of space and time itself in twain. Realistic visuals and sounds! Ages 8 and up." + force = 0 + throwforce = 0 + throw_speed = 3 + throw_range = 5 + force_unwielded = 0 + force_wielded = 0 + origin_tech = null + attack_verb = list("attacked", "struck", "hit") + +/obj/item/twohanded/hypereutactic/toy/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) + return 0 + +/obj/item/twohanded/hypereutactic/toy/IsReflect()//Stops it from reflecting energy projectiles + return 0 + +/* old code that don't work no more +/obj/item/toy/sword/cx/hyper + name = "\improper DX Hyper-Euplastic LightSword" + desc = "A supermassive toy envisioned to cleave the very fabric of space and time itself in twain. Realistic visuals and sounds! Ages 8 and up." + icon = 'modular_citadel/icons/hypereutactic/item/hypereutactic.dmi' + icon_state = "hypereutactic" + lefthand_file = 'modular_citadel/icons/hypereutactic/mob/hypereutactic_left.dmi' + righthand_file = 'modular_citadel/icons/hypereutactic/mob/hypereutactic_right.dmi' + item_state = "hypereutactic" + inhand_x_dimension = 64 + inhand_y_dimension = 64 + active = FALSE + w_class = WEIGHT_CLASS_SMALL + attack_verb = list("poked", "devastated", "jabbed") + light_color = "#37FFF7" + light_brightness = 3 + actions_types = list() + +/obj/item/toy/sword/cx/hyper/attack_self(mob/user) + active = !( active ) + + if (active) + to_chat(user, "You activate the holographic blade with a press of a button.") + playsound(user, 'sound/weapons/nebon.ogg', 50, 1) + w_class = WEIGHT_CLASS_BULKY + attack_verb = list("slashed", "stabbed", "ravaged") + set_light(light_brightness) + update_icon() + + else + to_chat(user, "You deactivate the holographic blade with a press of a button.") + playsound(user, 'sound/weapons/neboff.ogg', 50, 1) + w_class = WEIGHT_CLASS_SMALL + attack_verb = list("poked", "jabbed", "hit") + set_light(0) + update_icon() + + add_fingerprint(user) + +/obj/item/toy/sword/cx/hyper/update_icon() + var/mutable_appearance/blade_overlay = mutable_appearance('modular_citadel/icons/hypereutactic/item/hypereutactic.dmi', "hypereutactic_blade") + var/mutable_appearance/gem_overlay = mutable_appearance('modular_citadel/icons/hypereutactic/item/hypereutactic.dmi', "hypereutactic_gem") + + if(light_color) + blade_overlay.color = light_color + gem_overlay.color = light_color + + cut_overlays() //So that it doesn't keep stacking overlays non-stop on top of each other + + add_overlay(gem_overlay) + + if(active) + add_overlay(blade_overlay) + + if(ismob(loc)) + var/mob/M = loc + M.update_inv_hands() + +/obj/item/toy/sword/cx/hyper/AltClick(mob/living/user) + if(user.incapacitated() || !istype(user)) + to_chat(user, "You can't do that right now!") + return + if(!in_range(src, user)) + return + if(user.incapacitated() || !istype(user) || !in_range(src, user)) + return + + if(alert("Are you sure you want to recolor your blade?", "Confirm Repaint", "Yes", "No") == "Yes") + var/energy_color_input = input(usr,"Choose Energy Color") as color|null + if(energy_color_input) + light_color = sanitize_hexcolor(energy_color_input, desired_format=6, include_crunch=1) + update_icon() + update_light() + +/obj/item/toy/sword/cx/hyper/worn_overlays(isinhands, icon_file) + if(isinhands) + var/mutable_appearance/gem_inhand = mutable_appearance(icon_file, "hypereutactic_gem") + gem_inhand.color = light_color + . += gem_inhand + if(active) + var/mutable_appearance/blade_inhand = mutable_appearance(icon_file, "hypereutactic_blade") + blade_inhand.color = light_color + . += blade_inhand + +/obj/item/toy/sword/cx/hyper/attackby(obj/item/W, mob/living/user, params) + return +*/ \ No newline at end of file diff --git a/modular_citadel/icons/hypereutactic/item/hypereutactic.dmi b/modular_citadel/icons/hypereutactic/item/hypereutactic.dmi new file mode 100644 index 0000000000000000000000000000000000000000..90a665f676dc5d34bad5f1cd2ab595134628b02b GIT binary patch literal 1334 zcmeAS@N?(olHy`uVBq!ia0vp^4nW+%!3HFEH|A#nsmWC#5hX6E#mPmP1tppJc?=8{ zbEcl&%hzNe()MuYbFF;`^8P61#rkx9po@#bsbM|fJ759Xu|H_J< zaqLoeaNlX3-mLBFTix^-rIstNJW$BP)LZNtImf`H>t5=+PrFp&CwwwY&5-f9J8AZh z+xAlT`2GHfn0v@O@3P4{qHyL|EbKs z-(zYs(LLa<&BUJQ-VVlwy-lA!RMgphIOmbYu`6-u$BpbKj>#!xn<|xkb}^D$y0c0{ zfT8?xy?^q%?W;3pzb;PFQ?GoZ=l=~7JMVj% z=_JE8#%(MNw;7_D8gd(S84s8pn8uJGo#4%|fp>!{LrHkacb57zgOJ?4^Cfv^UQxcn zW?(aK{`T+yz58yfDjEJ>y_PNKQ2)~`XjzZoDMd8hH`s0nG2}4kaKbIw$FO7f5ns)i zFW1bM7F=Ai&Okv@fq|uA{?ydA6Ko;LH)L~coBlFv_`~To=j&cB6PzTiNAhr&*=M?q6${D}Nkbey#DxHoGq~O7u6pJkL1oTuSEDf7T2NwXE+; z%4~j!urnTrJJ_#boS3MR`FhRuBE9^VYnGP^?I{jQ7xpMT!UvgEz>)8_KV z?DT)vDjhOsu2d^uy!Ye!yXC9q-PwBWi2jakKjnGeu5Pd{Q2jC2n;~uPFYD?;dzl-I0vW{8+yW0n5@{g*m4!vs=v;VU8Lp%TbkJ*`qZ}Kuesxlvvn!p2r zH?~L?SWe#Pb$@?iW})D8r>ibu{UBCZT9pj(F$gS*YU3)juZiDy> zs}=Xd`<()h@|W^S)X1d0{?MgVx57C=S>sD+!%FGB?vEQj|6^i!>OMJmU;DitS&>px zyVZ7vq0hYCm_C@)`PDKx8t^qN|7aN=%Ezc6!LE=c$$H@P+x5Roqo)2m#k82=iWAo4 z1xp~3%m*$DuleeQ0j3y{no!LApzJ@r z;_h$mkeOxS5(YdDx?mkfTn%RgRyOv`(^$DB{x9#BnoWk1ANpSwzCAF@{m0`~XReo6 zCNosLW2|cU`d&XE)pkN+VXdTLbj;FEd<+#PmZqzBo@Lzn<8l2=0jUGM_ZDw63j6M! zwkTl5YKQml#CCuBQwOA~KfP`$6kuZ3c&h$prVCSi)NLJx4DH&D-bWYRon@0I!lHbR saqE?3`?)ya`2fY`kj%FACF38)Wzv^?7G_NL0~Uk~p00i_>zopr0AMUvRsaA1 literal 0 HcmV?d00001 diff --git a/modular_citadel/icons/hypereutactic/mob/hypereutactic_left.dmi b/modular_citadel/icons/hypereutactic/mob/hypereutactic_left.dmi new file mode 100644 index 0000000000000000000000000000000000000000..ca940551133301c04b9ced008ba10281021fc456 GIT binary patch literal 2428 zcmd5;`#0428-EYBG)awG2}Ap(Z55MCxnxX97#x>M4IyI5wJCC$Ff(l|j_4aPgBU z?F_5(<*gjGkW`MBQu__EuVD@*WcSH|3p+@{kB6q5doAkQ8I5_c2>kB`M#-IUyD0Ol zRRxNbTItXCDTXUj4Ly#&-yUMT<9*zV0ObJdH_3S|!PxOfKDxKg2>XXP;YHHeqk0Ex z$6NYyD)^yh#$7eBUJo@c)-g+t*jZSY7}HB-04SC?oVIq4EBu3Fgm=fOrz|X^P!A0X zU#Y9}5&8F&XjqHXTrBpScQVRZWgBj7n`$+6|A+k@D*%BrR+&X+gbi*#!-F&aWee9Y z-T$s4Nr9m^oX&ndjFF64%vf#A3@N}lonn@lUDQn*9xYY_&ZP8202X$ElWH)Kg!tdV zfqmo!zMaXX@nC&v4kRPur}^xsanZB4mf{}?+DbAYe6x1$tie8IlAal!UaRM~%woj!TTZFM3-3fbK=RH|hj>j?Q;C zzU@5|9^v{>Cdx(^v4SzOFU7K%5l%B#_DV3ReI1qK642D}woW)x;bR&fb!@!$iJ&z* z<5f4?rbqZ1GLQMZ+7aCBn`H*`!d3X{PYkyYRz8qPZ&RIGmpIvG8Mc1 zk?Eb5kU3oeShArup7w_3m2=X;z7yd`y}$ivZWN=-hzC@q!2s=&-9xB?arF+&H)mA? z?6Vr>Koz>n2L?Q}RVPm3uYh$MYeb!RIk#fe!+ z`|_i>L8n5#ift=8{&9@}RF79HT4hk>F z!gz%FA8D1Is(6OfW!zz4FY`*!g4FWEWFr1OtwvFtLrSdTEoS>Ybqe_^Nk2@MSUWv` zBHkX#TO;jqu;!cW%;9IgWXNGB<+Zi5+U!rAyT8b`dEB7WwY8cr28XM6_CH?8u=IUSB7PZ=2^-gsx7R-#`COwjvc)f9sux!~5-#rNx*jX5 zB_cn04GJPhAtLnW5=;vs2BRaOJ`FeBzK&^|?5ER>O*op|mjOX6Cu*&2587SXGV450 zrZ9Yx==5+yH3d>7oj#Gs%#T>#SZma{_8*Sqn!#rFUN+YxCXSY%rL*hHZIhz8-~2>Z zTcUkp6MrlmAOvY0Dn&9x9TaLOrtMT+r9!$#(v?1KVJ4<=r67O&flKLy+{ezP=S*t7 z9`#*amk3s-#$AZp6g;QdHc%#>-mrvVgz9D1;$|`;q+k2n&zodKEaN~Y6aME-rgq<| zW4|hEXigT~dze~K0Xa-TUPqF%QLw(Xk0;{Svfd{qN2!Rd zHXNGfQ@cUCheD-%uk9Px_1sS6^}S$T%3lyc%;g|(8}R-K&kTlQr%a=YV%c0wgIH7? zvpMVAF>Ps?t7TUNw&wHayVzWabJ?Guz=rQl%Zp0x-pmc$C$kQx)Y0iZE2MNu4NcFH zz$-b+MVR4XnX4`Kf~}RZ6^jJjqqcg`(BxZYNu66xY%DL6N)xuljX6`f8*6jS*PT&% zOZh2|1pBOJxlQ8wlirK#lyO8nsWdfFs}c=8R48O>MZVB%7J9aUU@R0lm+#q9aQpog ztwSBi>$?F+r%1g382|2{FyH>}AzMY07p?mJI=gJ=EQl&h9*XMZK}B9=o)NG58SsS< z!a=c%@6oT@s`_r^_m}#RoHwJ^C5yu!zOsK{Ha!^e!;2ROtBI1dP0h_s1MSn_9R*0& o<51t{2sTUicSrqSduDArD>rT}@YqHu^qm3@wl1eDPWk=x7lAm{z5oCK literal 0 HcmV?d00001 diff --git a/modular_citadel/icons/hypereutactic/mob/hypereutactic_right.dmi b/modular_citadel/icons/hypereutactic/mob/hypereutactic_right.dmi new file mode 100644 index 0000000000000000000000000000000000000000..a9b90da74065d41cb76d85a78d23b23969c66fe9 GIT binary patch literal 3281 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 literal 0 HcmV?d00001 diff --git a/modular_citadel/icons/lavaknight/item/head.dmi b/modular_citadel/icons/lavaknight/item/head.dmi new file mode 100644 index 0000000000000000000000000000000000000000..950d4894e98b9b614842e4c73e0722877167ee90 GIT binary patch literal 377 zcmV-<0fzpGP)}V(A>l00001bW%=J06^y0W&i*H zdwNt@bVOxyV{&P5bZKvH004NLQ&wiC?XUap~Du7F2D;i~1U78W20Y)wer zfUKa%NL|SYSwR38At?|R5*9*Mz>4Ndc10sY6i2e5`?E+0#Q+Qw7}(3p@%UjBPy+w} X)xiV=-0C=2ri?IrWFcd}SysxIpuiMVH7X4&kMoT*|8!w8t(`=>H!=z{uKla_D!@6_D!_4+801_vJ5WHtQdN+0KkoJ2Bdm^ zb7OG>K<@N1^yPSzUjw@^{U~VjK=*0q05|4?@P6II2 z{{p>OU~*vIm>Y{5lLPaHUMw)x{{n!>>@-gjkI{<-b4oOW%3MBKc{UEH0Y>HdWTSp{ z378v;8*--?fQ7sFIMdxtWOkZc%jfvvMiGzf-uHcL`5ckiY0h+avvBtwuvZ1mkRZzW z^J~{O0W?h`pU;;Y1vA(;(U#BW%bKPEQ0Z?w6>1V7f)56I07zxBCJ6wa#m)lo)wjRx zvqkW!OcsD(py$9OScAVhG6I02DDCNV8dX)xc70VY@kc7Gw5DfH? z%4Cr{z2tK_Qkg70!HcHIZRy*ry*|&DzKsycp5R4NnJoES4!P4yDw8!yJSc*J0MAQL zC4g8my5sVdB<}^+K250(%6q{jxqKx_sQ>fQQz;k-*uJNx2u=>n*UXqlb|Wg|%H>OD z`?J+GQkg7zvA~wTUGqhe`1L~z;$YuIo2F@Hm#-vMf-eK@v1D{-_hpBnC`!ANrO%3* z70~7PqdmCKurdVf1#U$uljYg!n)wkWFChGfl_9hT_v!Nc9S=x|Utwd{*nQbyJ9Wfd zuZP{29Y$ee*RT`Ay363=%!-lE<>>PJ$>(xryGM4{%yM^48vcHx)Lcr$1H=7w3l|8_ws;bDcjLTP&V6UuWM5Vh63+=*J zRDsn;*LA|-Fu0RQ(#yb;-R+4urkDz%a?ezx@OuBwMBq^{>`E?XvurQ z1(Xnhi6E;p?(&r+@w>}clDs|_v1GL2du+GDb7OI1OW%G&2b|g-*=>7xa*Ej0kH+Aw zk0pThrB}wqPd|9$KdtRn|3+v?KqwRM=0oHRt zczo2H_X0u>)Z2FeS{}R==Q}fFXTG1}(XXcwA}M!z->{D}4o$!>f1Wna4C1ap zERU_cAbneKEP}OA@7|ymT5%unHgG5c{tNgU%>l=I+XKfS00000NkvXXu0mjfIA*{V literal 0 HcmV?d00001 diff --git a/modular_citadel/icons/lavaknight/mob/head.dmi b/modular_citadel/icons/lavaknight/mob/head.dmi new file mode 100644 index 0000000000000000000000000000000000000000..5084c9c66f43c940f3e11d3eebcc2c482daaf77f GIT binary patch literal 568 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeE3?v1%WpM*3tpJ}8*LnNflGC$x?ATFRQ|IjA zt!HSwr%(6Z9=QxBMhO{tNh#_7|NpnNw5X`5%L*Ry2I^ug3GxeOaCmkj4ajM%3W+Fj zNi9w;$}A|!%+F(BsF)KRR!~&>{Y!Ac$FEPcymhtCojD)8A=Kca@qABxE;mZ^T5oVrV*#Zq#=4k=u*9BDUvXAsgF03&1 z(2Z4XT9c^8{5+&aDq^l{OYFp-!V(f6vJyB<40#T$W;o0h7&z&Qu|dnEw1XNFtcw#w z1eki5e*ApV;OZgh%DQ;MBIYipJQH5WW5={k)Tk#Xhl;TJWJocwww~n@i20V{?D!`& zH9MsvfvM@V+6yaFruA(zgMGp+6?W*XZn8~RIxT-|!%K#)w$ z=HLVEo;3$QaLwA%#I%cTTK5U56xj<)%yS&BA9&CmqP$^Iv;mhJ$U!CSFP_?eHBFeZ zwS?i;i8;P585Rv^9x6I9cdZxcxX>V!H)HEzsJq!2w6|(7x!q&m2Mjv~Pgg&ebxsLQ E0HIdfLI3~& literal 0 HcmV?d00001 diff --git a/modular_citadel/icons/lavaknight/mob/suit.dmi b/modular_citadel/icons/lavaknight/mob/suit.dmi new file mode 100644 index 0000000000000000000000000000000000000000..ed51ceaaa450220930220076a6989eba6cb360ed GIT binary patch literal 3764 zcmY*ccOYEd62GfQm!~Fr5G)~l@ogkwgXj{yw@8#A$y$W4)>=vQzFPF?JuFe8MoELct+@9c(!Cs=I-JYb|!Gq4yv>_IRZm zch=CW@(%eQJKXnQiMi~nLdHu&c_j;*zdkK25xOV=4IP+DSZmraXzi+o%0ol%)NM;E zr|Tx{7a}Rb{89%U&n6$$=4t3u2^9ChWahxr}cGId~hoccUY!bPfcEY7vT zv`1vJK#)u-Ve;kNX7I~Z38J!_bmuX3eZ&g&Ae_wFVy_lA6fZE_vK8pj>D76f%oTy2 z*(8s1T66A8bN~H7@d#})^F6~?_t6QWWQOOsFxwd;^S^D`yY3#skOdL+{M5fWKTMXC zdgCd^Y(7*%cnLr@ONhO%8DGvO{L+RBPrGZNTX#kMX|?$G zb8S^P0+w3SC>pw6i{PF6dSnj`XGR3AbcMJ9Ed#qW_f7Ji=kwdj!?LT~Xvx6YihL8h zwuM;~OQZ@t=QUnE93RLHeztcm@AT)!9DNm61QyMgFt~^N)OW(cCXpYR(92cVj^luk{8|{Mm{FiQ=iiHY_-0b`VG9kMQe{jMx z7rN^+L8tNpWkdai6?MiT?g1uIs5eyx)jDkQ(Ba^-&9x!I;&K~3h1}HPR<7F9)4{nhT76tRhyr?ssFu<3a!o%C1uOT%!)H$3?Yf)3Li7VW z8%rSia7CQ(PXGKsSr8f(9tUwKr0mp4qE5&L7?5h;0DKeMTMz-Qg@Ctjqc~K+ewXM& zkxzCBls9div?qqF`c38W{SMZuD|}bT)k9!&7kNxl&FZD^^zZY7y!3PR0f{!j-lUW! zZ1KD{C})Bzv7()fC$cVcN?wS|)7kwgR-A@RxS_YNPW68^N>=x^fGWi$em>jwZD}~H z%#NV}J*GMHq4V#Mig%$XiuCtdvq2o@mifPPuTS?AasVQ{=d7c2OIQdQMY1)APae>8 zTr=7(p{Pr`c*5;X2)fJddpp10f2)Ig?(`|+c?OJ?BbS5iHJ}Lrvm9z`c;~v&%XIX7 zfyB(~?s9JqmEnx&7h)e96?jthh722D@n@jkNQ!by zD6Gf(3(;2a$%@ZWo=@oAfhYfe!!XhZXMcgXjW~E(w5VJ&mtaH-4EUm3=!d#dlIMT! z`Fp$0hkl_@mc=lN3}E9%iz6N2e*9F*S>aCX;Yu}));n^T@ydu-&MB`F@sf12vX}>K zLvD*GRYtU!1LeIbGwsLW&@*l5mm6A?%33VNgzMmi+v7=KhP;2iSv=Ae(6E<+nb{es?sZ1)4uy!=8Zz=f?iq^8^we_ymPnrYvR99Bdk4Q1O%g&D-nek1N)N%R}xCP zic<~sRzB~^K)S6M`-CH2X5%Kgie8n67`9TtI5`|336F zp&#HN2O1dDEMh;@Wo@lzr=HFH?Q~o7Ajin6@;TDJ_8$)N_pc6&&xqoOvFTzJ&)=lP zR}N{;P`5zf$o+Sg!+U$t;VWxbCYjD#6KyAet&obyWi8L8t|yQXAKQb9VCsBF?1UZ-Xgnn{$%dA!ZQBS?KHQdkO6NG!~II?(FTn znr~uwKH;57+}N>rMS*mCad&!EnoMiP4uoCM7}j)kzRq3E4ANW05)<e)2J z8I2N16H1uEz&^&{`}e8UOhR)}+jz5NijUKS=a2R&u90MlWvB}Bg)QpUOb$;Gr zjT_HfSzB}Pm~HrBzwF9RE(G=13E>XwkUpq5iQqS&%7o93j8vVUow)aqxn@Z#g_g2% znGNfH+%q?6H%5<_S&_>a=7tk)|HE^LN$;_yoAnhW7t=2>LRJPmkJcvJ=w9Ea{Rl}* zOPe;%OFDsz-LyEs*^M{`8WS-vaeQGRFDongr$MKo4UYs#D(3E(w`RilOq~;C!*LV? zrKB2O%<*na5R+yHAzWMXDay z#>&+3N@{M0#-`kSPGt5hd`MkMXXZcjfIPj?e3^J68ChgWsodUyLGhk2VWV# gW0D53@B9ntcckfb`lWva{)Pe?j~=U(DcNHG3)~b-g#Z8m literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index 34227a9a18..9a78dbcbca 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2409,5 +2409,8 @@ #include "interface\skin.dmf" #include "modular_citadel\cit_medkits.dm" #include "modular_citadel\cit_screenshake.dm" +#include "modular_citadel\citadel_ghostrole_spawners.dm" +#include "modular_citadel\cydonian_armor.dm" +#include "modular_citadel\hypereutactic_blade.dm" #include "modular_citadel\polychromic_clothes.dm" // END_INCLUDE From 005c6dcb59a1d6e2389efb63f8c33aff9b2f10d7 Mon Sep 17 00:00:00 2001 From: AnturK Date: Tue, 5 Dec 2017 09:11:53 +0100 Subject: [PATCH 002/134] Fixes powernets (#33288) --- code/modules/power/cable.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index dc63253681..9e4e29ceb5 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -430,7 +430,7 @@ By design, d1 is the smallest direction and d2 is the highest loc = null powernet.remove_cable(src) //remove the cut cable from its powernet - addtimer(CALLBACK(src, .proc/auto_propogate_cut_cable, O), 0) //so we don't rebuild the network X times when singulo/explosion destroys a line of X cables + addtimer(CALLBACK(O, .proc/auto_propogate_cut_cable, O), 0) //so we don't rebuild the network X times when singulo/explosion destroys a line of X cables // Disconnect machines connected to nodes if(d1 == 0) // if we cut a node (O-X) cable From 91cc5b10242a2e736290daea0ca9ece94957d5f4 Mon Sep 17 00:00:00 2001 From: Dax Dupont Date: Tue, 5 Dec 2017 09:10:31 +0100 Subject: [PATCH 004/134] Adds disco inferno shuttle. (#33230) * Adds disco inferno shuttle * step be gone * Minor wall replacement * Add no diagonal walls * Made the dance machine all access * Makes the statues work as I originally intended in this shuttle * Fixes a chair * Changed door and made it to keep fire inside. --- _maps/shuttles/emergency_discoinferno.dmm | 497 ++++++++++++++++++++++ code/datums/shuttles.dm | 8 +- config/unbuyableshuttles.txt | 1 + 3 files changed, 505 insertions(+), 1 deletion(-) create mode 100644 _maps/shuttles/emergency_discoinferno.dmm diff --git a/_maps/shuttles/emergency_discoinferno.dmm b/_maps/shuttles/emergency_discoinferno.dmm new file mode 100644 index 0000000000..ec42f163f1 --- /dev/null +++ b/_maps/shuttles/emergency_discoinferno.dmm @@ -0,0 +1,497 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/escape) +"c" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plasteel/elevatorshaft, +/area/shuttle/escape) +"d" = ( +/obj/structure/table/wood, +/obj/item/device/flashlight/lamp/green, +/turf/open/floor/mineral/gold, +/area/shuttle/escape) +"e" = ( +/obj/structure/chair/comfy/brown{ + dir = 1 + }, +/turf/open/floor/mineral/gold, +/area/shuttle/escape) +"f" = ( +/obj/machinery/computer/emergency_shuttle, +/turf/open/floor/mineral/gold, +/area/shuttle/escape) +"g" = ( +/obj/structure/table/wood, +/obj/item/storage/fancy/cigarettes/cigars/havana, +/obj/item/lighter{ + pixel_x = -4; + pixel_y = 6 + }, +/turf/open/floor/mineral/gold, +/area/shuttle/escape) +"h" = ( +/obj/machinery/computer/atmos_alert{ + dir = 4 + }, +/turf/open/floor/mineral/gold, +/area/shuttle/escape) +"i" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/turf/open/floor/mineral/gold, +/area/shuttle/escape) +"j" = ( +/turf/open/floor/mineral/gold, +/area/shuttle/escape) +"k" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/turf/open/floor/mineral/gold, +/area/shuttle/escape) +"l" = ( +/obj/machinery/computer/security{ + dir = 8 + }, +/turf/open/floor/mineral/gold, +/area/shuttle/escape) +"m" = ( +/obj/machinery/computer/crew{ + dir = 4 + }, +/turf/open/floor/mineral/gold, +/area/shuttle/escape) +"n" = ( +/obj/structure/table/wood/poker, +/obj/item/storage/box/drinkingglasses, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/machinery/light, +/turf/open/floor/mineral/gold, +/area/shuttle/escape) +"o" = ( +/obj/machinery/computer/communications{ + dir = 8 + }, +/turf/open/floor/mineral/gold, +/area/shuttle/escape) +"p" = ( +/obj/machinery/door/airlock/gold{ + req_access_txt = "19" + }, +/turf/open/floor/mineral/gold, +/area/shuttle/escape) +"q" = ( +/obj/structure/statue/plasma/scientist{ + anchored = 1; + oreAmount = 50 + }, +/turf/open/floor/light/colour_cycle, +/area/shuttle/escape) +"r" = ( +/turf/open/floor/mineral/plasma, +/area/shuttle/escape) +"s" = ( +/turf/open/floor/mineral/silver, +/area/shuttle/escape) +"t" = ( +/turf/open/floor/light/colour_cycle, +/area/shuttle/escape) +"u" = ( +/obj/docking_port/mobile/emergency{ + name = "Disco Inferno"; + timid = 1 + }, +/obj/machinery/door/airlock/gold{ + armor = list("melee" = 30, "bullet" = 30, "laser" = 20, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100); + heat_proof = 1; + resistance_flags = 2 + }, +/turf/open/floor/mineral/plasma, +/area/shuttle/escape) +"v" = ( +/obj/machinery/disco{ + anchored = 1; + req_access = null + }, +/turf/open/floor/light/colour_cycle, +/area/shuttle/escape) +"w" = ( +/obj/machinery/door/airlock/gold, +/turf/open/floor/wood, +/area/shuttle/escape) +"x" = ( +/turf/open/floor/wood, +/area/shuttle/escape) +"y" = ( +/turf/open/floor/carpet, +/area/shuttle/escape) +"z" = ( +/obj/structure/chair/comfy/brown{ + dir = 2 + }, +/turf/open/floor/carpet, +/area/shuttle/escape) +"A" = ( +/obj/structure/table/wood/fancy, +/obj/item/reagent_containers/food/drinks/bottle/cognac, +/turf/open/floor/wood, +/area/shuttle/escape) +"B" = ( +/obj/structure/table/wood/fancy, +/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka, +/turf/open/floor/wood, +/area/shuttle/escape) +"C" = ( +/obj/machinery/computer/slot_machine, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/wood, +/area/shuttle/escape) +"D" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/turf/open/floor/wood, +/area/shuttle/escape) +"E" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/shuttle/escape) +"F" = ( +/obj/structure/table/wood/poker, +/obj/item/toy/cards/deck, +/turf/open/floor/carpet, +/area/shuttle/escape) +"G" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/shuttle/escape) +"H" = ( +/obj/structure/table/wood/fancy, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/coin/plasma, +/obj/item/coin/plasma, +/turf/open/floor/wood, +/area/shuttle/escape) +"I" = ( +/obj/machinery/computer/slot_machine{ + dir = 3 + }, +/turf/open/floor/wood, +/area/shuttle/escape) +"J" = ( +/obj/structure/chair/comfy/brown{ + dir = 1 + }, +/turf/open/floor/carpet, +/area/shuttle/escape) +"K" = ( +/obj/structure/table/wood/fancy, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/turf/open/floor/wood, +/area/shuttle/escape) +"L" = ( +/obj/structure/table/wood/fancy, +/obj/item/reagent_containers/food/drinks/bottle/lizardwine, +/turf/open/floor/wood, +/area/shuttle/escape) +"M" = ( +/obj/structure/shuttle/engine/heater, +/obj/structure/window/plasma/reinforced{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/shuttle/escape) +"N" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/open/floor/plating/airless, +/area/shuttle/escape) +"O" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/shuttle/escape) +"P" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/shuttle/escape) +"Q" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/shuttle/escape) + +(1,1,1) = {" +a +a +a +a +b +b +b +c +b +u +b +c +c +c +b +O +b +w +b +c +b +a +"} +(2,1,1) = {" +a +b +b +b +O +q +r +r +r +r +j +r +r +r +r +q +c +x +C +I +b +b +"} +(3,1,1) = {" +b +b +h +m +c +r +r +r +r +s +j +s +r +r +r +r +c +x +D +D +M +N +"} +(4,1,1) = {" +c +d +i +i +c +r +r +r +j +j +t +j +j +r +r +r +c +x +x +x +M +N +"} +(5,1,1) = {" +c +e +j +j +c +r +r +s +j +t +t +t +j +s +r +r +c +y +E +y +M +N +"} +(6,1,1) = {" +c +f +j +n +c +r +j +j +t +t +v +t +t +j +j +r +c +z +F +J +M +N +"} +(7,1,1) = {" +c +e +j +j +p +r +r +s +j +t +t +t +j +s +r +r +c +y +G +y +M +N +"} +(8,1,1) = {" +c +g +k +k +c +r +r +r +j +j +t +j +j +r +r +r +c +x +x +x +M +N +"} +(9,1,1) = {" +b +b +l +o +c +r +r +r +r +s +j +s +r +r +r +r +c +A +x +K +M +N +"} +(10,1,1) = {" +a +b +b +b +O +q +r +r +r +r +j +r +r +r +r +q +c +B +H +L +b +b +"} +(11,1,1) = {" +a +a +a +a +b +b +b +c +b +b +b +c +c +c +b +b +b +c +b +c +b +a +"} diff --git a/code/datums/shuttles.dm b/code/datums/shuttles.dm index 1ec392a5b2..1a0c19f5ab 100644 --- a/code/datums/shuttles.dm +++ b/code/datums/shuttles.dm @@ -94,7 +94,13 @@ admin_notes = "Due to the limited space for non paying crew, this shuttle may cause a riot." credit_cost = 10000 - +/datum/map_template/shuttle/emergency/discoinferno + suffix = "discoinferno" + name = "Disco Inferno" + description = "The glorious results of centuries of plasma research done by Nanotrasen employees. This is the reason why you are here. Get on and dance like you're on fire, burn baby burn!" + admin_notes = "Flaming hot." + credit_cost = 10000 + /datum/map_template/shuttle/emergency/arena suffix = "arena" name = "The Arena" diff --git a/config/unbuyableshuttles.txt b/config/unbuyableshuttles.txt index 30c887b39b..b563c6c0e6 100644 --- a/config/unbuyableshuttles.txt +++ b/config/unbuyableshuttles.txt @@ -27,3 +27,4 @@ #_maps/shuttles/emergency_scrapheap.dmm #_maps/shuttles/emergency_supermatter.dmm #_maps/shuttles/emergency_wabbajack.dmm +#_maps/shuttles/emergency_discoinferno.dmm From 7b3c2862d3a4099ac5dbb1c4e1a83abfc889f94a Mon Sep 17 00:00:00 2001 From: Ashe Higgs Date: Tue, 5 Dec 2017 02:56:26 -0500 Subject: [PATCH 006/134] Stethoscope defibrillation checking (#33234) --- code/modules/clothing/neck/_neck.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm index 2b66a85fe6..2baaf91135 100644 --- a/code/modules/clothing/neck/_neck.dm +++ b/code/modules/clothing/neck/_neck.dm @@ -72,6 +72,9 @@ if(!(M.failed_last_breath || M.losebreath)) lung_strength = "healthy" + if(M.stat == DEAD && heart && world.time - M.timeofdeath < DEFIB_TIME_LIMIT * 10) + heart_strength = "a faint, fluttery" + var/diagnosis = (body_part == "chest" ? "You hear [heart_strength] pulse and [lung_strength] respiration." : "You faintly hear [heart_strength] pulse.") user.visible_message("[user] places [src] against [M]'s [body_part] and listens attentively.", "You place [src] against [M]'s [body_part]. [diagnosis]") return From e7fd2392388dfa0244bb63ae4edab53ddd6da7a2 Mon Sep 17 00:00:00 2001 From: coiax Date: Tue, 5 Dec 2017 07:55:37 +0000 Subject: [PATCH 008/134] [Metastation] Easel in Quiet Room moved to art storage (#33240) That easel awkwardly blocks access to the table in the corner, so I've moved it to art storage, removing a photocopier from art storage to allow it to fit. --- _maps/map_files/MetaStation/MetaStation.dmm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index eade14e21e..d2d6386ef9 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -32247,10 +32247,12 @@ /obj/machinery/light_switch{ pixel_x = 27 }, -/obj/machinery/photocopier, /obj/machinery/light/small{ dir = 4 }, +/obj/structure/easel, +/obj/item/canvas/twentythreeXtwentythree, +/obj/item/canvas/twentythreeXtwentythree, /turf/open/floor/plasteel, /area/storage/art) "boP" = ( @@ -101206,7 +101208,7 @@ bzE bLk bML bue -bMQ +bzE bRj bSB bPR From 4204c889ed8e09c90d61831e0fef11a46c51ab29 Mon Sep 17 00:00:00 2001 From: oranges Date: Tue, 5 Dec 2017 20:42:25 +1300 Subject: [PATCH 010/134] Merge pull request #32964 from AutomaticFrenzy/patch/joules Measure energy values in joules --- code/__HELPERS/unsorted.dm | 20 ++++++++++++++++--- code/game/machinery/computer/apc_control.dm | 2 +- .../devices/electroadaptive_pseudocircuit.dm | 2 +- code/game/objects/items/inducer.dm | 2 +- code/modules/hydroponics/plant_genes.dm | 2 +- .../integrated_electronics/passive/power.dm | 2 +- code/modules/ninja/suit/gloves.dm | 4 ++-- code/modules/ninja/suit/suit.dm | 2 +- .../modules/ninja/suit/suit_initialisation.dm | 2 +- code/modules/power/cell.dm | 2 +- .../modules/research/designs/power_designs.dm | 10 +++++----- 11 files changed, 32 insertions(+), 18 deletions(-) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 5e266fdaa2..6fb7b08611 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -353,9 +353,8 @@ Turf and target are separate in case you want to teleport some distance from a t var/M = E/(SPEED_OF_LIGHT_SQ) return M -//Takes the value of energy used/produced/ect. -//Returns a text value of that number in W, kW, MW, or GW. -/proc/DisplayPower(var/powerused) +// Format a power value in W, kW, MW, or GW. +/proc/DisplayPower(powerused) if(powerused < 1000) //Less than a kW return "[powerused] W" else if(powerused < 1000000) //Less than a MW @@ -364,6 +363,21 @@ Turf and target are separate in case you want to teleport some distance from a t return "[round((powerused * 0.000001),0.001)] MW" return "[round((powerused * 0.000000001),0.0001)] GW" +// Format an energy value in J, kJ, MJ, or GJ. 1W = 1J/s. +/proc/DisplayEnergy(units) + // APCs process every (SSmachines.wait * 0.1) seconds, and turn 1 W of + // excess power into GLOB.CELLRATE energy units when charging cells. + // With the current configuration of wait=20 and CELLRATE=0.002, this + // means that one unit is 1 kJ. + units *= SSmachines.wait * 0.1 / GLOB.CELLRATE + if (units < 1000) // Less than a kJ + return "[round(units, 0.1)] J" + else if (units < 1000000) // Less than a MJ + return "[round(units * 0.001, 0.01)] kJ" + else if (units < 1000000000) // Less than a GJ + return "[round(units * 0.000001, 0.001)] MJ" + return "[round(units * 0.000000001, 0.0001)] GJ" + /proc/key_name(whom, include_link = null, include_name = 1) var/mob/M var/client/C diff --git a/code/game/machinery/computer/apc_control.dm b/code/game/machinery/computer/apc_control.dm index aa644eb738..cbdc28883f 100644 --- a/code/game/machinery/computer/apc_control.dm +++ b/code/game/machinery/computer/apc_control.dm @@ -66,7 +66,7 @@ if(result_filters["Responsive"] && !APC.aidisabled) continue dat += "[A]
\ - Charge: [DisplayPower(APC.cell.charge)] / [DisplayPower(APC.cell.maxcharge)] ([round((APC.cell.charge / APC.cell.maxcharge) * 100)]%)
\ + Charge: [DisplayEnergy(APC.cell.charge)] / [DisplayEnergy(APC.cell.maxcharge)] ([round((APC.cell.charge / APC.cell.maxcharge) * 100)]%)
\ Area: [APC.area]
\ [APC.aidisabled || APC.panel_open ? "APC does not respond to interface query." : "APC responds to interface query."]

" dat += "Check Logs
" diff --git a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm index 204a1f81d9..7f9a53557c 100644 --- a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm +++ b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm @@ -30,7 +30,7 @@ to_chat(R, "You need a power cell installed for that.") return if(!R.cell.use(circuit_cost)) - to_chat(R, "You don't have the power for that (you need [DisplayPower(circuit_cost)].)") + to_chat(R, "You don't have the energy for that (you need [DisplayEnergy(circuit_cost)].)") return if(recharging) to_chat(R, "[src] needs some time to recharge first.") diff --git a/code/game/objects/items/inducer.dm b/code/game/objects/items/inducer.dm index e720644055..a2d69764c5 100644 --- a/code/game/objects/items/inducer.dm +++ b/code/game/objects/items/inducer.dm @@ -162,7 +162,7 @@ /obj/item/inducer/examine(mob/living/M) ..() if(cell) - to_chat(M, "Its display shows: [DisplayPower(cell.charge)].") + to_chat(M, "Its display shows: [DisplayEnergy(cell.charge)].") else to_chat(M,"Its display is dark.") if(opened) diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index c6e17a63a4..92b6b8abaf 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -375,7 +375,7 @@ pocell.maxcharge *= CG.rate*1000 pocell.charge = pocell.maxcharge pocell.name = "[G.name] battery" - pocell.desc = "A rechargeable plant based power cell. This one has a power rating of [DisplayPower(pocell.maxcharge)], and you should not swallow it." + pocell.desc = "A rechargeable plant-based power cell. This one has a rating of [DisplayEnergy(pocell.maxcharge)], and you should not swallow it." if(G.reagents.has_reagent("plasma", 2)) pocell.rigged = 1 diff --git a/code/modules/integrated_electronics/passive/power.dm b/code/modules/integrated_electronics/passive/power.dm index 7c7439d45b..1e65a2b67d 100644 --- a/code/modules/integrated_electronics/passive/power.dm +++ b/code/modules/integrated_electronics/passive/power.dm @@ -13,7 +13,7 @@ /obj/item/integrated_circuit/passive/power/solar_cell name = "tiny photovoltaic cell" desc = "It's a very tiny solar cell, generally used in calculators." - extended_desc = "The cell generates 1W of power per second in optimal lighting conditions. Less light will result in less power being generated." + extended_desc = "The cell generates 1 W of power in optimal lighting conditions. Less light will result in less power being generated." icon_state = "solar_cell" complexity = 8 origin_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 3, TECH_DATA = 2) diff --git a/code/modules/ninja/suit/gloves.dm b/code/modules/ninja/suit/gloves.dm index 6cf03d1c10..c49ca072e8 100644 --- a/code/modules/ninja/suit/gloves.dm +++ b/code/modules/ninja/suit/gloves.dm @@ -63,9 +63,9 @@ if(isnum(.)) //Numerical values of drained handle their feedback here, Alpha values handle it themselves (Research hacking) if(.) - to_chat(H, "Gained [DisplayPower(.)] of power from [A].") + to_chat(H, "Gained [DisplayEnergy(.)] of energy from [A].") else - to_chat(H, "\The [A] has run dry of power, you must find another source!") + to_chat(H, "\The [A] has run dry of energy, you must find another source!") else . = 0 //as to not cancel attack_hand() diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm index 1dcfed99c0..128997cb98 100644 --- a/code/modules/ninja/suit/suit.dm +++ b/code/modules/ninja/suit/suit.dm @@ -152,7 +152,7 @@ Contents: ..() if(s_initialized) if(user == affecting) - to_chat(user, "All systems operational. Current energy capacity: [DisplayPower(cell.charge)].") + to_chat(user, "All systems operational. Current energy capacity: [DisplayEnergy(cell.charge)].") to_chat(user, "The CLOAK-tech device is [s_active?"active":"inactive"].") to_chat(user, "There are [s_bombs] smoke bomb\s remaining.") to_chat(user, "There are [a_boost] adrenaline booster\s remaining.") diff --git a/code/modules/ninja/suit/suit_initialisation.dm b/code/modules/ninja/suit/suit_initialisation.dm index 0084ff1995..e19e67404d 100644 --- a/code/modules/ninja/suit/suit_initialisation.dm +++ b/code/modules/ninja/suit/suit_initialisation.dm @@ -42,7 +42,7 @@ addtimer(CALLBACK(src, .proc/ninitialize_six, delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/ninitialize_six(delay, mob/living/carbon/human/U) - to_chat(U, "Primary system status: ONLINE.\nBackup system status: ONLINE.\nCurrent energy capacity: [DisplayPower(cell.charge)].") + to_chat(U, "Primary system status: ONLINE.\nBackup system status: ONLINE.\nCurrent energy capacity: [DisplayEnergy(cell.charge)].") addtimer(CALLBACK(src, .proc/ninitialize_seven, delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/ninitialize_seven(delay, mob/living/carbon/human/U) diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index acbebea458..625f99a040 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -29,7 +29,7 @@ START_PROCESSING(SSobj, src) charge = maxcharge if(ratingdesc) - desc += " This one has a power rating of [DisplayPower(maxcharge)], and you should not swallow it." + desc += " This one has a rating of [DisplayEnergy(maxcharge)], and you should not swallow it." update_icon() /obj/item/stock_parts/cell/Destroy() diff --git a/code/modules/research/designs/power_designs.dm b/code/modules/research/designs/power_designs.dm index d5526e9509..a6ef6cd2bf 100644 --- a/code/modules/research/designs/power_designs.dm +++ b/code/modules/research/designs/power_designs.dm @@ -4,7 +4,7 @@ /datum/design/basic_cell name = "Basic Power Cell" - desc = "A basic power cell that holds 1 kW of power." + desc = "A basic power cell that holds 1 MJ of energy." id = "basic_cell" req_tech = list("powerstorage" = 1) build_type = PROTOLATHE | AUTOLATHE |MECHFAB @@ -15,7 +15,7 @@ /datum/design/high_cell name = "High-Capacity Power Cell" - desc = "A power cell that holds 10 kW of power." + desc = "A power cell that holds 10 MJ of energy." id = "high_cell" req_tech = list("powerstorage" = 2) build_type = PROTOLATHE | AUTOLATHE | MECHFAB @@ -26,7 +26,7 @@ /datum/design/super_cell name = "Super-Capacity Power Cell" - desc = "A power cell that holds 20 kW of power." + desc = "A power cell that holds 20 MJ of energy." id = "super_cell" req_tech = list("powerstorage" = 3, "materials" = 3) build_type = PROTOLATHE | MECHFAB @@ -37,7 +37,7 @@ /datum/design/hyper_cell name = "Hyper-Capacity Power Cell" - desc = "A power cell that holds 30 kW of power." + desc = "A power cell that holds 30 MJ of energy." id = "hyper_cell" req_tech = list("powerstorage" = 5, "materials" = 5, "engineering" = 5) build_type = PROTOLATHE | MECHFAB @@ -48,7 +48,7 @@ /datum/design/bluespace_cell name = "Bluespace Power Cell" - desc = "A power cell that holds 40 kW of power." + desc = "A power cell that holds 40 MJ of energy." id = "bluespace_cell" req_tech = list("powerstorage" = 6, "materials" = 5, "engineering" = 5, "bluespace" = 5) build_type = PROTOLATHE | MECHFAB From 5c1ccad969cd9cb9b8b17341aad96d10b30775e7 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Tue, 5 Dec 2017 02:37:42 -0500 Subject: [PATCH 012/134] Adds server tools version to feedback (#33244) * Adds server tools version to feedback * Fix incorrect call to record_feedback * Add number to record feedback calls --- code/controllers/subsystem/server_maint.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/controllers/subsystem/server_maint.dm b/code/controllers/subsystem/server_maint.dm index 43585a5896..cb5a86bd75 100644 --- a/code/controllers/subsystem/server_maint.dm +++ b/code/controllers/subsystem/server_maint.dm @@ -55,5 +55,8 @@ SUBSYSTEM_DEF(server_maint) co.ehjax_send(data = "roundrestart") if(server) //if you set a server location in config.txt, it sends you there instead of trying to reconnect to the same world address. -- NeoFite C << link("byond://[server]") + if(SERVER_TOOLS_PRESENT) + SSblackbox.record_feedback("text", "server_tools", 1, SERVER_TOOLS_VERSION) + SSblackbox.record_feedback("text", "server_tools_api", 1, SERVER_TOOLS_API_VERSION) #undef PING_BUFFER_TIME From d6f9871bd34c36c66da16c5c13a4a44ddc1500fb Mon Sep 17 00:00:00 2001 From: oranges Date: Tue, 5 Dec 2017 20:37:15 +1300 Subject: [PATCH 014/134] Merge pull request #33251 from tgstation/Cyberboss-patch-3 Reduces the volume of showers --- code/datums/looping_sounds/machinery_sounds.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/looping_sounds/machinery_sounds.dm b/code/datums/looping_sounds/machinery_sounds.dm index a3f510f0dd..562311180d 100644 --- a/code/datums/looping_sounds/machinery_sounds.dm +++ b/code/datums/looping_sounds/machinery_sounds.dm @@ -4,7 +4,7 @@ mid_sounds = list('sound/machines/shower/shower_mid1.ogg'=1,'sound/machines/shower/shower_mid2.ogg'=1,'sound/machines/shower/shower_mid3.ogg'=1) mid_length = 10 end_sound = 'sound/machines/shower/shower_end.ogg' - volume = 25 + volume = 20 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// From cdc49eb28a84605debc323baf4ecfe29bd0a5684 Mon Sep 17 00:00:00 2001 From: oranges Date: Tue, 5 Dec 2017 20:36:50 +1300 Subject: [PATCH 016/134] Merge pull request #33247 from tgstation/Cyberboss-patch-2 Excludes ___TGS3TempBranch from builds --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 35fec579bf..07b63ab3aa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,8 @@ language: generic sudo: false +branches: + except: + - ___TGS3TempBranch env: global: - BYOND_MAJOR="511" From dda9a4f57c443820d53c0c2b0526e906ee9097fa Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sun, 3 Dec 2017 13:23:54 -0500 Subject: [PATCH 018/134] Emphasises the importance of round ID in issue template --- .github/ISSUE_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 3b1daafc62..699ab8ffa2 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,3 +1,3 @@ -[Directions]: # (Include the Round ID from the Status panel or retrieve it from https://atlantaned.space/newSS13tools/round.php ! If you believe the issue to be caused by a testmerge [OOC tab -> Show Server Revision], report it in the pull request's comment section instead. Explain your issue in detail, including the steps to reproduce it.) +[Directions]: # (INCLUDE THE ROUND ID from the Status panel or retrieve it from https://atlantaned.space/newSS13tools/round.php ! If you believe the issue to be caused by a test merge [OOC tab -> Show Server Revision], report it in the pull request's comment section instead. Explain your issue in detail, including the steps to reproduce it.) [For Admins]: # (Oddities induced by var-edits and other admin tools are not necessarily bugs. Verify that your issues occur under regular circumstances before reporting them.) From 0f7608479494f56f36ff4847f00cd5ce33a5181d Mon Sep 17 00:00:00 2001 From: Leo Date: Mon, 4 Dec 2017 16:52:58 -0200 Subject: [PATCH 020/134] Merge pull request #33243 from tgstation/Cyberboss-patch-5 Adds a CRASH on invalid calls to record_feedback --- code/controllers/subsystem/blackbox.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm index 3a0f3cff24..96c195f1b7 100644 --- a/code/controllers/subsystem/blackbox.dm +++ b/code/controllers/subsystem/blackbox.dm @@ -218,6 +218,8 @@ Versioning FV.json["data"]["[pos]"] = list() //in 512 "pos" can be replaced with "[FV.json["data"].len+1]" for(var/i in data) FV.json["data"]["[pos]"]["[i]"] = "[data[i]]" //and here with "[FV.json["data"].len]" + else + CRASH("Invalid feedback key_type: [key_type]") /datum/controller/subsystem/blackbox/proc/record_feedback_recurse_list(list/L, list/key_list, increment, depth = 1) if(depth == key_list.len) From 47ffd288509e616754b985d76919ba9a768fe05e Mon Sep 17 00:00:00 2001 From: AnturK Date: Sun, 3 Dec 2017 14:00:28 +0100 Subject: [PATCH 022/134] Fixes robeless apprentice --- code/datums/antagonists/wizard.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/antagonists/wizard.dm b/code/datums/antagonists/wizard.dm index 740e7e156e..a8cce02fa1 100644 --- a/code/datums/antagonists/wizard.dm +++ b/code/datums/antagonists/wizard.dm @@ -204,7 +204,7 @@ owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/forcewall(null)) H.put_in_hands(new /obj/item/gun/magic/staff/healing(H)) to_chat(owner, "Your service has not gone unrewarded, however. Studying under [master.current.real_name], you have learned livesaving survival spells. You are able to cast charge and forcewall.") - if(APPRENTICE_HEALING) + if(APPRENTICE_ROBELESS) owner.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/knock(null)) owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/mind_transfer(null)) to_chat(owner, "Your service has not gone unrewarded, however. Studying under [master.current.real_name], you have learned stealthy, robeless spells. You are able to cast knock and mindswap.") From 435e46e4072f5c1e1a1d67e7d4c47e2d0e01ddf9 Mon Sep 17 00:00:00 2001 From: ACCount Date: Mon, 4 Dec 2017 16:45:35 +0300 Subject: [PATCH 024/134] Moves some machine sprites into /machines/ folder --- _maps/RandomZLevels/beach.dmm | 2 +- code/game/machinery/Sleeper.dm | 4 ++-- code/game/machinery/camera/camera.dm | 2 +- code/game/machinery/camera/camera_assembly.dm | 4 ++-- code/game/machinery/cloning.dm | 2 +- code/game/machinery/dna_scanner.dm | 2 +- code/game/machinery/suit_storage_unit.dm | 4 ++-- .../mecha/equipment/tools/medical_tools.dm | 2 +- code/game/objects/structures/fluff.dm | 2 +- .../objects/structures/ghost_role_spawners.dm | 18 +++++++++--------- code/game/objects/structures/showcase.dm | 6 +++--- code/modules/VR/vr_sleeper.dm | 2 +- .../components/unary_devices/thermomachine.dm | 4 +--- code/modules/awaymissions/corpse.dm | 16 ++++++++-------- .../awaymissions/mission_code/snowdin.dm | 2 +- code/modules/hydroponics/biogenerator.dm | 2 +- code/modules/ruins/lavaland_ruin_code.dm | 2 +- .../atmospherics/components/thermomachine.dmi | Bin 0 -> 23517 bytes icons/obj/cloning.dmi | Bin 8985 -> 0 bytes icons/obj/{ => machines}/biogenerator.dmi | Bin icons/obj/machines/camera.dmi | Bin 0 -> 6266 bytes icons/obj/machines/cloning.dmi | Bin 0 -> 16713 bytes icons/obj/machines/sleeper.dmi | Bin 0 -> 44308 bytes .../suit_storage.dmi} | Bin icons/obj/monitors.dmi | Bin 43244 -> 17420 bytes 25 files changed, 37 insertions(+), 39 deletions(-) create mode 100644 icons/obj/atmospherics/components/thermomachine.dmi delete mode 100644 icons/obj/cloning.dmi rename icons/obj/{ => machines}/biogenerator.dmi (100%) create mode 100644 icons/obj/machines/camera.dmi create mode 100644 icons/obj/machines/cloning.dmi create mode 100644 icons/obj/machines/sleeper.dmi rename icons/obj/{suitstorage.dmi => machines/suit_storage.dmi} (100%) diff --git a/_maps/RandomZLevels/beach.dmm b/_maps/RandomZLevels/beach.dmm index db2cce8fb7..fb9c5e73c2 100644 --- a/_maps/RandomZLevels/beach.dmm +++ b/_maps/RandomZLevels/beach.dmm @@ -163,7 +163,7 @@ death = 0; desc = "Looks secure."; flavour_text = "You are a bartender for the beach!"; - icon = 'icons/obj/cryogenic2.dmi'; + icon = 'icons/obj/machines/sleeper.dmi'; icon_state = "sleeper"; mob_name = "Jerry Thomas"; name = "bartenders cryosleeper"; diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 9354bd73ae..61a5d7271d 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -1,6 +1,6 @@ /obj/machinery/sleep_console name = "sleeper console" - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "console" density = FALSE anchored = TRUE @@ -8,7 +8,7 @@ /obj/machinery/sleeper name = "sleeper" desc = "An enclosed machine used to stabilize and heal patients." - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" density = FALSE anchored = TRUE diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 23bfc72f87..af1a168a3b 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -5,7 +5,7 @@ /obj/machinery/camera name = "security camera" desc = "It's used to monitor rooms." - icon = 'icons/obj/monitors.dmi' + icon = 'icons/obj/machines/camera.dmi' icon_state = "camera" use_power = ACTIVE_POWER_USE idle_power_usage = 5 diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index 1424944633..952011d595 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -1,7 +1,7 @@ /obj/item/wallframe/camera name = "camera assembly" desc = "The basic construction for Nanotrasen-Always-Watching-You cameras." - icon = 'icons/obj/monitors.dmi' + icon = 'icons/obj/machines/camera.dmi' icon_state = "cameracase" materials = list(MAT_METAL=400, MAT_GLASS=250) result_path = /obj/structure/camera_assembly @@ -10,7 +10,7 @@ /obj/structure/camera_assembly name = "camera assembly" desc = "The basic construction for Nanotrasen-Always-Watching-You cameras." - icon = 'icons/obj/monitors.dmi' + icon = 'icons/obj/machines/camera.dmi' icon_state = "camera1" max_integrity = 150 // Motion, EMP-Proof, X-Ray diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 9b35f06acc..4cd7e7f0fe 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -13,7 +13,7 @@ name = "cloning pod" desc = "An electronically-lockable pod for growing organic tissue." density = TRUE - icon = 'icons/obj/cloning.dmi' + icon = 'icons/obj/machines/cloning.dmi' icon_state = "pod_0" req_access = list(ACCESS_CLONING) //FOR PREMATURE UNLOCKING. verb_say = "states" diff --git a/code/game/machinery/dna_scanner.dm b/code/game/machinery/dna_scanner.dm index 780b7ac1f2..d1189ff8b8 100644 --- a/code/game/machinery/dna_scanner.dm +++ b/code/game/machinery/dna_scanner.dm @@ -1,7 +1,7 @@ /obj/machinery/dna_scannernew name = "\improper DNA scanner" desc = "It scans DNA structures." - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/cloning.dmi' icon_state = "scanner" density = TRUE anchored = TRUE diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index d3825b9afe..53c0b746bd 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -2,7 +2,7 @@ /obj/machinery/suit_storage_unit name = "suit storage unit" desc = "An industrial unit made to hold space suits. It comes with a built-in UV cauterization mechanism. A small warning label advises that organic matter should not be placed into the unit." - icon = 'icons/obj/suitstorage.dmi' + icon = 'icons/obj/machines/suit_storage.dmi' icon_state = "close" anchored = TRUE density = TRUE @@ -210,7 +210,7 @@ mob_occupant.adjustFireLoss(rand(20, 36)) else mob_occupant.adjustFireLoss(rand(10, 16)) - mob_occupant.emote("scream") + mob_occupant.emote("scream") addtimer(CALLBACK(src, .proc/cook), 50) else uv_cycles = initial(uv_cycles) diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index ebac3fb6d2..1099095b46 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -32,7 +32,7 @@ /obj/item/mecha_parts/mecha_equipment/medical/sleeper name = "mounted sleeper" desc = "Equipment for medical exosuits. A mounted sleeper that stabilizes patients and can inject reagents in the exosuit's reserves." - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" origin_tech = "engineering=3;biotech=3;plasmatech=2" energy_drain = 20 diff --git a/code/game/objects/structures/fluff.dm b/code/game/objects/structures/fluff.dm index a151406ef3..7dcd8c107a 100644 --- a/code/game/objects/structures/fluff.dm +++ b/code/game/objects/structures/fluff.dm @@ -33,7 +33,7 @@ /obj/structure/fluff/empty_sleeper //Empty sleepers are created by a good few ghost roles in lavaland. name = "empty sleeper" desc = "An open sleeper. It looks as though it would be awaiting another patient, were it not broken." - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper-open" /obj/structure/fluff/empty_sleeper/nanotrasen diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index 9a2798eacc..fe6a8c69c2 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -76,7 +76,7 @@ name = "timeless prison" desc = "Although this stasis pod looks medicinal, it seems as though it's meant to preserve something for a very long time." mob_name = "a penitent exile" - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" roundstart = FALSE death = FALSE @@ -259,7 +259,7 @@ name = "prisoner containment sleeper" desc = "A sleeper designed to put its occupant into a deep coma, unbreakable until the sleeper turns off. This one's glass is cracked and you can see a pale, sleeping face staring out." mob_name = "an escaped prisoner" - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper_s" outfit = /datum/outfit/lavalandprisoner roundstart = FALSE @@ -296,7 +296,7 @@ name = "staff sleeper" desc = "A sleeper designed for long-term stasis between guest visits." mob_name = "hotel staff member" - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper_s" objectives = "Cater to visiting guests with your fellow staff. Do not leave your assigned hotel and always remember: The customer is always right!" death = FALSE @@ -393,7 +393,7 @@ name = "Syndicate Operative" roundstart = FALSE death = FALSE - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper_s" id_access_list = list(ACCESS_SYNDICATE) outfit = /datum/outfit/syndicate_empty @@ -461,7 +461,7 @@ name = "old cryogenics pod" desc = "A humming cryo pod. You can barely recognise a security uniform underneath the built up ice. The machine is attempting to wake up its occupant." mob_name = "a security officer" - icon = 'icons/obj/cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" roundstart = FALSE death = FALSE @@ -485,7 +485,7 @@ name = "old cryogenics pod" desc = "A humming cryo pod. You can barely recognise an engineering uniform underneath the built up ice. The machine is attempting to wake up its occupant." mob_name = "an engineer" - icon = 'icons/obj/cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" roundstart = FALSE death = FALSE @@ -509,7 +509,7 @@ name = "old cryogenics pod" desc = "A humming cryo pod. You can barely recognise a science uniform underneath the built up ice. The machine is attempting to wake up its occupant." mob_name = "a scientist" - icon = 'icons/obj/cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" roundstart = FALSE death = FALSE @@ -535,7 +535,7 @@ name = "space pirate sleeper" desc = "A cryo sleeper smelling faintly of rum." random = TRUE - icon = 'icons/obj/cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" mob_name = "a space pirate" mob_species = /datum/species/human @@ -561,7 +561,7 @@ /obj/effect/mob_spawn/human/pirate/Destroy() new/obj/structure/showcase/machinery/oldpod/used(drop_location()) return ..() - + /obj/effect/mob_spawn/human/pirate/captain rank = "Captain" outfit = /datum/outfit/pirate/space/captain diff --git a/code/game/objects/structures/showcase.dm b/code/game/objects/structures/showcase.dm index 85a557a657..0aa447ca58 100644 --- a/code/game/objects/structures/showcase.dm +++ b/code/game/objects/structures/showcase.dm @@ -36,13 +36,13 @@ /obj/structure/showcase/horrific_experiment name = "horrific experiment" desc = "Some sort of pod filled with blood and viscera. You swear you can see it moving..." - icon = 'icons/obj/cloning.dmi' + icon = 'icons/obj/machines/cloning.dmi' icon_state = "pod_g" /obj/structure/showcase/machinery/oldpod name = "damaged cryogenic pod" desc = "A damaged cryogenic pod long since lost to time, including its former occupant..." - icon = 'icons/obj/cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper-open" /obj/structure/showcase/machinery/oldpod/used @@ -83,7 +83,7 @@ /obj/structure/showcase/machinery/cloning_pod name = "cloning pod exhibit" desc = "Signs describe how cloning pods like these ensure that every Nanotrasen employee can carry out their contracts in full, even in the unlikely event of their catastrophic death. Hopefully they aren't all made of cardboard, like this one." - icon = 'icons/obj/cloning.dmi' + icon = 'icons/obj/machines/cloning.dmi' icon_state = "pod_0" /obj/structure/showcase/perfect_employee diff --git a/code/modules/VR/vr_sleeper.dm b/code/modules/VR/vr_sleeper.dm index 429e917e36..1ef8a71cb4 100644 --- a/code/modules/VR/vr_sleeper.dm +++ b/code/modules/VR/vr_sleeper.dm @@ -5,7 +5,7 @@ /obj/machinery/vr_sleeper name = "virtual reality sleeper" desc = "A sleeper modified to alter the subconscious state of the user, allowing them to visit virtual worlds." - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" state_open = TRUE anchored = TRUE diff --git a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm index d7bfe1ecb8..fa336c7a34 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm @@ -1,7 +1,7 @@ /obj/machinery/atmospherics/components/unary/thermomachine name = "thermomachine" desc = "Heats or cools gas in connected pipes." - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/atmospherics/components/thermomachine.dmi' icon_state = "freezer" var/icon_state_on = "cold_on" var/icon_state_open = "cold_off" @@ -160,7 +160,6 @@ /obj/machinery/atmospherics/components/unary/thermomachine/freezer name = "freezer" - icon = 'icons/obj/Cryogenic2.dmi' icon_state = "freezer" icon_state_on = "freezer_1" icon_state_open = "freezer-o" @@ -177,7 +176,6 @@ /obj/machinery/atmospherics/components/unary/thermomachine/heater name = "heater" - icon = 'icons/obj/Cryogenic2.dmi' icon_state = "heater" icon_state_on = "heater_1" icon_state_open = "heater-o" diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 9a156d6b62..1f5df77be7 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -204,7 +204,7 @@ brute_damage = 1000 /obj/effect/mob_spawn/human/alive - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" death = FALSE roundstart = FALSE //you could use these for alive fake humans on roundstart but this is more common scenario @@ -243,7 +243,7 @@ mob_type = /mob/living/simple_animal/mouse death = FALSE roundstart = FALSE - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" /obj/effect/mob_spawn/cow @@ -252,7 +252,7 @@ death = FALSE roundstart = FALSE mob_gender = FEMALE - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" // I'll work on making a list of corpses people request for maps, or that I think will be commonly used. Syndicate operatives for example. @@ -274,7 +274,7 @@ roundstart = FALSE random = TRUE name = "sleeper" - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" flavour_text = "You are a space doctor!" assignedrole = "Space Doctor" @@ -329,7 +329,7 @@ roundstart = FALSE random = TRUE name = "bartender sleeper" - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" flavour_text = "You are a space bartender!" assignedrole = "Space Bartender" @@ -353,7 +353,7 @@ random = TRUE mob_name = "Beach Bum" name = "beach bum sleeper" - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" flavour_text = "You are a beach bum!" assignedrole = "Beach Bum" @@ -431,7 +431,7 @@ roundstart = FALSE mob_name = "Nanotrasen Commander" name = "sleeper" - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" flavour_text = "You are a Nanotrasen Commander!" @@ -440,7 +440,7 @@ roundstart = FALSE mob_name = "Private Security Officer" name = "sleeper" - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" faction = "nanotrasenprivate" flavour_text = "You are a Nanotrasen Private Security Officer!" diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index c015d778fe..4c3b54fa0d 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -229,7 +229,7 @@ /obj/effect/mob_spawn/human/syndicatesoldier/coldres/alive name = "sleeper" mob_name = "Syndicate Snow Operative" - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" roundstart = FALSE death = FALSE diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index 9d6095cf4b..5b1d17182a 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -1,7 +1,7 @@ /obj/machinery/biogenerator name = "biogenerator" desc = "Converts plants into biomass, which can be used to construct useful items." - icon = 'icons/obj/biogenerator.dmi' + icon = 'icons/obj/machines/biogenerator.dmi' icon_state = "biogen-empty" density = TRUE anchored = TRUE diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm index 67edf8dc9b..46921efc6a 100644 --- a/code/modules/ruins/lavaland_ruin_code.dm +++ b/code/modules/ruins/lavaland_ruin_code.dm @@ -97,7 +97,7 @@ name = "Syndicate Bioweapon Scientist" roundstart = FALSE death = FALSE - icon = 'icons/obj/Cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper_s" flavour_text = "You are a syndicate agent, employed in a top secret research facility developing biological weapons. Unfortunately, your hated enemy, Nanotrasen, has begun mining in this sector. Continue your research as best you can, and try to keep a low profile. DON'T abandon the base without good cause. The base is rigged with explosives should the worst happen, do not let the base fall into enemy hands!" id_access_list = list(ACCESS_SYNDICATE) diff --git a/icons/obj/atmospherics/components/thermomachine.dmi b/icons/obj/atmospherics/components/thermomachine.dmi new file mode 100644 index 0000000000000000000000000000000000000000..2ff9dac031b1e8a20fe510697a1c4d2adfe9fbb8 GIT binary patch literal 23517 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 literal 0 HcmV?d00001 diff --git a/icons/obj/cloning.dmi b/icons/obj/cloning.dmi deleted file mode 100644 index 5aa439df6bce468e12b350385cd61c7f07d1ec8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8985 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 literal 0 HcmV?d00001 diff --git a/icons/obj/machines/cloning.dmi b/icons/obj/machines/cloning.dmi new file mode 100644 index 0000000000000000000000000000000000000000..de68060740e08bb09e0b17db4c8de9db2fad4dd7 GIT binary patch literal 16713 zcmYkk1yoyI&^8K%VnquScbDRBp}0%2;_mJq+^s-?;#QzgT#6Iio#O898VJed{r~T~ z_pX&>udM8uJ$vSvnKP4pPK=t0ECw1e8XO!PhP<5A*SE3Yzc&if+h^RA_2;)?+E4SF zhm@textpzvhpn>{9Gp*1Zc-g)Cs?$8Fz_={F9;K4*6eiIE4OEZc{Sa&hR(}00K2}zVuEC8iZT&C^Yui4&$hoBqNxBUX%U3U|(@_0R`O_pc&^F8Qo8J15I-II{Ug%6?O6PJfecdTqb-20k*f3GN-HbiqBd z_kQ;6!SaKHqlA-}`l9KRbDrxPKx!S>lE0jryR7JcEEcdDbKdWTc_@a0$|T#8^sxZD zT4D~)F{qIgwNd=TXEjFUmUj`@3i5KjY1k4H7h_&#!q(G-`+Ycle6GvHs1>{OewH?%My6)K3iq2j)5$=tns?_i!{E zfdy8*f(RNeTzRyHsA8T@ApiWQ4ttQ<3#vH#`9ZI_g8LL0uxPo1p7;9*cLNvs-aszi zad8h8)AIuj<{&L1>~8uc8RR6&6e2opg;2sFqguOI`q`^c>u@N0<-S#O|t*$xC%7<1%ZcQ^6m! zR)fTCpA--JxFV7UMyq`R9|*ab`uhTpyVrva|D)rtz6Ue#|44re+F%(eYZLu?sT~w| zcA9+h6PqloMh1gcFRiCOysp9G5R=El_8J9rEx*&e#QPrpdA}BL6}Jkj7QWnXEu$$p zH{P4Fc+r{vFuAAsOrxH+?iu`MS#yRLAD=O=lw))gNm=Py-AumRNo?g`obixxMIrg4 zHVLk|shLz&wL`moDOCn<$PThp6t}|~smY^uSks^Cy=Hw_H&L0PvPuH(4U>Cs4OV4Q zkP86xd|%@ODTMDZig~cC_5VW=tfoebEfQN@lZgw={gbxs<4pu3yX?qX*T?$tRJhfh zbEA6a!G$M3Gf%|s2s8Tz`Qp*pc5ZC=eq4{@@1+R?LkGFa-F>POJ?AaGiOEmjvm%5! z9(CR{Ddq&He{2XRV8rELxpFO7@@Lc{0f<4v@GZ%-B*>5b0t;Y!w$?2Shs}F9<@+(+ z6+P|%qM!k{h}`x(S}uWi!9|2}DgAYm0x6QzxhK*Z+O?IwPEP|j1Yo#TZ?T@(xjoK+ z7&`aypo@Wa)cJPTVYD}<-*b8^pR}yHNk=@0k v$nszGvww_{*%i97pg3dUCH`W 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�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 Gg#JI#3elzj literal 0 HcmV?d00001 diff --git a/icons/obj/machines/sleeper.dmi b/icons/obj/machines/sleeper.dmi new file mode 100644 index 0000000000000000000000000000000000000000..b027d0d7b1c0fb1363d8a1fe76725870568cb49f GIT binary patch literal 44308 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಑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 IoMq_$06{yE`2YX_ literal 0 HcmV?d00001 diff --git a/icons/obj/suitstorage.dmi b/icons/obj/machines/suit_storage.dmi similarity index 100% rename from icons/obj/suitstorage.dmi rename to icons/obj/machines/suit_storage.dmi diff --git a/icons/obj/monitors.dmi b/icons/obj/monitors.dmi index 0a2edd5dbe39fac2cf4a7555bb685cb0284b76ba..b9c34380de087af24562a5b40980a8ff5497b617 100644 GIT binary patch literal 17420 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 MqN!1t;qCDM0xu=z?EnA( From 4b2a1c9d7763a45d42058f92a3d81f9590cc2944 Mon Sep 17 00:00:00 2001 From: oranges Date: Tue, 5 Dec 2017 23:07:28 +1300 Subject: [PATCH 025/134] Merge pull request #33277 from tgstation/Cyberboss-patch-8 Fixes departmental say --- code/modules/mob/living/say.dm | 42 +++++++++++++++++----------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 739b4e3584..7781fd5df6 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -37,36 +37,36 @@ GLOBAL_LIST_INIT(department_radio_keys, list( //kinda localization -- rastaf0 //same keys as above, but on russian keyboard layout. This file uses cp1251 as encoding. // Location - "ê" = "right hand", - "ä" = "left hand", - "ø" = "intercom", + "ê" = "right hand", + "ä" = "left hand", + "ø" = "intercom", // Department - "ð" = "department", - "ñ" = "Command", - "ò" = "Science", - "ü" = "Medical", - "ó" = "Engineering", - "û" = "Security", - "ã" = "Supply", - "ì" = "Service", + "ð" = "department", + "ñ" = "Command", + "ò" = "Science", + "ü" = "Medical", + "ó" = "Engineering", + "û" = "Security", + "ã" = "Supply", + "ì" = "Service", // Faction - "å" = "Syndicate", - "í" = "CentCom", + "Ã¥" = "Syndicate", + "í" = "CentCom", // Species - "è" = "binary", - "ï" = "changeling", - "ô" = "alientalk", + "è" = "binary", + "ï" = "changeling", + "ô" = "alientalk", // Admin - "ç" = "admin", - "â" = "deadmin", + "ç" = "admin", + "â" = "deadmin", // Misc - "ù" = "AI Private", - "÷" = "cords" + "ù" = "AI Private", + "÷" = "cords" )) /mob/living/say(message, bubble_type,var/list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE) @@ -137,7 +137,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( var/datum/saymode/SM = SSradio.saymodes[key] if(key && SM) - if(!SM.handle_message(src, message, language)) + if(!SM.handle_message(src, message, language) && !message_mode) return From 828df6f12a10eef1f221204563a9b42652b77bc5 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Tue, 5 Dec 2017 07:14:48 -0600 Subject: [PATCH 027/134] rreeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee --- code/citadel/custom_loadout/custom_items.dm | 8 ++++---- icons/mob/neck.dmi | Bin 40711 -> 42312 bytes icons/obj/clothing/cloaks.dmi | Bin 4600 -> 5350 bytes 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/citadel/custom_loadout/custom_items.dm b/code/citadel/custom_loadout/custom_items.dm index dcc8934173..885e06d83b 100644 --- a/code/citadel/custom_loadout/custom_items.dm +++ b/code/citadel/custom_loadout/custom_items.dm @@ -107,10 +107,10 @@ /obj/item/clothing/neck/cloak/festive name = "Celebratory Cloak of Morozko" desc = " It probably will protect from snow, charcoal or elves." - icon = 'icons/obj/custom.dmi' - icon_state = "festive-w" - item_state = "festive-i" - icon = 'icons/obj/custom.dmi' + icon = 'icons/obj/clothing/cloaks.dmi' + icon_override = 'icons/mob/citadel/suit.dmi' + icon_state = "festivecloak" + item_state = "festiveloak" w_class = WEIGHT_CLASS_SMALL body_parts_covered = CHEST|GROIN|LEGS|ARMS diff --git a/icons/mob/neck.dmi b/icons/mob/neck.dmi index 17f9d3ade4b00687b5cb04d195bff8d8c9d2ddc0..b5b851a8d5ee33ba06e7dc2e0cf51c4e653d3649 100644 GIT binary patch delta 21766 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%0APg;IRfA2uxZIZFjvNW_(WZSW0x!PLEI@W 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 delta 20497 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 Oki(9y4(0av`2PTj6NP>N diff --git a/icons/obj/clothing/cloaks.dmi b/icons/obj/clothing/cloaks.dmi index 993c037a0565df342914199523ae975888189397..31aab0ae26310af66ef1bd7e9e7aa9a3988838b5 100644 GIT binary patch literal 5350 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 From d5cf1b3fecdcae16cec86eaef0d944e6b8120284 Mon Sep 17 00:00:00 2001 From: MoreRobustThanYou Date: Tue, 5 Dec 2017 14:42:07 -0500 Subject: [PATCH 028/134] [s] Fix changeling chat (#33305) * Fix changeling chat * Update say.dm --- code/datums/saymode.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/saymode.dm b/code/datums/saymode.dm index 6aa1c48d8a..e372d5c0b2 100644 --- a/code/datums/saymode.dm +++ b/code/datums/saymode.dm @@ -109,4 +109,4 @@ var/mob/living/silicon/ai/AI = user AI.holopad_talk(message, language) return FALSE - return FALSE \ No newline at end of file + return TRUE From e0589e63a390306ea0021bd9406bf41a3c443eb0 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 5 Dec 2017 14:12:28 -0600 Subject: [PATCH 030/134] Automatic changelog generation for PR #4218 [ci skip] --- html/changelogs/AutoChangeLog-pr-4218.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4218.yml diff --git a/html/changelogs/AutoChangeLog-pr-4218.yml b/html/changelogs/AutoChangeLog-pr-4218.yml new file mode 100644 index 0000000000..334c16e021 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4218.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - spellcheck: "Energy values are now measured in joules. What was previously 1 unit is now 1 kJ." From 14ceab7ce2429140aa8af5c41a9427584ef8f422 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Tue, 5 Dec 2017 15:16:04 -0500 Subject: [PATCH 031/134] Deletes cyrogenic2.dmi so the pr matches with upstream's --- icons/obj/Cryogenic2.dmi | Bin 78406 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 icons/obj/Cryogenic2.dmi diff --git a/icons/obj/Cryogenic2.dmi b/icons/obj/Cryogenic2.dmi deleted file mode 100644 index 9d7b7510c5576ec9c5d34370a591dc2c371d12bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78406 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 RnIPa#OHEg`Oxf<%{{j_8v5Noz From 4aac4096a822a3428921c1c814cc30861f9f86a7 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 5 Dec 2017 14:18:25 -0600 Subject: [PATCH 032/134] Automatic changelog generation for PR #4215 [ci skip] --- html/changelogs/AutoChangeLog-pr-4215.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4215.yml diff --git a/html/changelogs/AutoChangeLog-pr-4215.yml b/html/changelogs/AutoChangeLog-pr-4215.yml new file mode 100644 index 0000000000..6e4fe16805 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4215.yml @@ -0,0 +1,4 @@ +author: "Dax Dupont" +delete-after: True +changes: + - rscadd: "Nanotrasen is happy to announce the pinnacle in plasma research! The Disco Inferno shuttle design is the result of decades of plasma research. Burn, baby, burn!" From 9cf421a17fad32ab7c833605dbd84f7a03e512c9 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 5 Dec 2017 14:18:45 -0600 Subject: [PATCH 033/134] Automatic changelog generation for PR #4216 [ci skip] --- html/changelogs/AutoChangeLog-pr-4216.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4216.yml diff --git a/html/changelogs/AutoChangeLog-pr-4216.yml b/html/changelogs/AutoChangeLog-pr-4216.yml new file mode 100644 index 0000000000..8b39d4aa94 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4216.yml @@ -0,0 +1,4 @@ +author: "Xhuis" +delete-after: True +changes: + - tweak: "Stethoscopes now inform the user if the target can be defibrillated; the user will hear a \"faint, fluttery pulse.\"" From 1ecf6e57d877fec4a13f379f49a820e7db9d62c9 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 5 Dec 2017 14:21:35 -0600 Subject: [PATCH 034/134] Automatic changelog generation for PR #4220 [ci skip] --- html/changelogs/AutoChangeLog-pr-4220.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4220.yml diff --git a/html/changelogs/AutoChangeLog-pr-4220.yml b/html/changelogs/AutoChangeLog-pr-4220.yml new file mode 100644 index 0000000000..7287bee043 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4220.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - sounddel: "Reduced the volume of showers" From 4671fd97244e994c2aa429970f8d0577418750e6 Mon Sep 17 00:00:00 2001 From: AnturK Date: Tue, 5 Dec 2017 21:26:45 +0100 Subject: [PATCH 035/134] Fixes ahelp trimming (#33268) --- code/modules/admin/verbs/adminpm.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 01ae5d4dc3..2e12f53608 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -111,7 +111,7 @@ //get message text, limit it's length.and clean/escape html if(!msg) msg = input(src,"Message:", "Private message to [key_name(recipient, 0, 0)]") as text|null - + msg = trim(msg) if(!msg) return From 57b45e8dc3dca65140603194ac2e4a2d3dd7fb99 Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 5 Dec 2017 18:32:37 -0200 Subject: [PATCH 037/134] Merge pull request #33278 from tgstation/Cyberboss-patch-9-1 Allows read-only VV of feedback --- code/controllers/subsystem/blackbox.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm index 96c195f1b7..104f463c8b 100644 --- a/code/controllers/subsystem/blackbox.dm +++ b/code/controllers/subsystem/blackbox.dm @@ -39,9 +39,9 @@ SUBSYSTEM_DEF(blackbox) sealed = SSblackbox.sealed //no touchie -/datum/controller/subsystem/blackbox/can_vv_get(var_name) +/datum/controller/subsystem/blackbox/vv_get_var(var_name) if(var_name == "feedback") - return FALSE + return debug_variable(var_name, deepCopyList(feedback), 0, src) return ..() /datum/controller/subsystem/blackbox/vv_edit_var(var_name, var_value) From 701108d074e277c6782cb31e8568fdf4391287a2 Mon Sep 17 00:00:00 2001 From: cebutris Date: Tue, 5 Dec 2017 15:56:23 -0500 Subject: [PATCH 039/134] removes borer event from rotation --- code/game/gamemodes/miniantags/borer/borer_event.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/miniantags/borer/borer_event.dm b/code/game/gamemodes/miniantags/borer/borer_event.dm index 6875a97db5..08d3c3eb93 100644 --- a/code/game/gamemodes/miniantags/borer/borer_event.dm +++ b/code/game/gamemodes/miniantags/borer/borer_event.dm @@ -1,7 +1,7 @@ /datum/round_event_control/borer name = "Borer" typepath = /datum/round_event/borer - weight = 10 //Default weight + weight = 0 //Default weight max_occurrences = 1 min_players = 20 //10 is MINIMUM needed, but this is not a gamemode that does well in lowpop earliest_start = 24000 //40 min, double default timer From 50a4f85cbb9f4764424dffee77dd8429584d9d36 Mon Sep 17 00:00:00 2001 From: cebutris Date: Tue, 5 Dec 2017 16:03:03 -0500 Subject: [PATCH 040/134] removes it even harder --- code/game/gamemodes/miniantags/borer/borer_event.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/miniantags/borer/borer_event.dm b/code/game/gamemodes/miniantags/borer/borer_event.dm index 08d3c3eb93..567adddf53 100644 --- a/code/game/gamemodes/miniantags/borer/borer_event.dm +++ b/code/game/gamemodes/miniantags/borer/borer_event.dm @@ -1,8 +1,8 @@ /datum/round_event_control/borer name = "Borer" typepath = /datum/round_event/borer - weight = 0 //Default weight - max_occurrences = 1 + weight = 0 + max_occurrences = 0 min_players = 20 //10 is MINIMUM needed, but this is not a gamemode that does well in lowpop earliest_start = 24000 //40 min, double default timer From d37e2a33634cf1b9f60dd62664c5827694c94764 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Tue, 5 Dec 2017 16:30:25 -0500 Subject: [PATCH 041/134] Fix some unquoted list associations (#33290) --- code/game/machinery/doors/firedoor.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index ad746d089f..edb5529840 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -22,7 +22,7 @@ layer = BELOW_OPEN_DOOR_LAYER closingLayer = CLOSED_FIREDOOR_LAYER assemblytype = /obj/structure/firelock_frame - armor = list(melee = 30, bullet = 30, laser = 20, energy = 20, bomb = 10, bio = 100, rad = 100, fire = 95, acid = 70) + armor = list("melee" = 30, "bullet" = 30, "laser" = 20, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 95, "acid" = 70) var/boltslocked = TRUE var/list/affecting_areas From 97c04d14305cabf9ad6f23fd5d2402d466a2a738 Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 5 Dec 2017 19:39:16 -0200 Subject: [PATCH 043/134] Merge pull request #33262 from AutomaticFrenzy/patch/uplink-implant Fix uplink implants not working --- code/game/objects/items/implants/implantuplink.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/objects/items/implants/implantuplink.dm b/code/game/objects/items/implants/implantuplink.dm index 4ef25c28a9..5365f71ca7 100644 --- a/code/game/objects/items/implants/implantuplink.dm +++ b/code/game/objects/items/implants/implantuplink.dm @@ -34,6 +34,7 @@ /obj/item/implant/uplink/activate() GET_COMPONENT(hidden_uplink, /datum/component/uplink) if(hidden_uplink) + hidden_uplink.locked = FALSE hidden_uplink.interact(usr) /obj/item/implanter/uplink From 1490c56d229d1a28e0e14da5c028ec8d6c72ec4f Mon Sep 17 00:00:00 2001 From: Robustin Date: Tue, 5 Dec 2017 16:40:51 -0500 Subject: [PATCH 045/134] Reverts sound range and falloff so as to not carry as far (#33259) * Reverts triple sound range * Reverts sound falloff --- code/__DEFINES/sound.dm | 2 +- code/game/sound.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/__DEFINES/sound.dm b/code/__DEFINES/sound.dm index 6866c024e2..8b93c8e38f 100644 --- a/code/__DEFINES/sound.dm +++ b/code/__DEFINES/sound.dm @@ -20,7 +20,7 @@ #define SOUND_MINIMUM_PRESSURE 10 -#define FALLOFF_SOUNDS 0.5 +#define FALLOFF_SOUNDS 1 //Ambience types diff --git a/code/game/sound.dm b/code/game/sound.dm index 231a346f2e..8e66fba95f 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -10,7 +10,7 @@ // Looping through the player list has the added bonus of working for mobs inside containers var/sound/S = sound(get_sfx(soundin)) - var/maxdistance = (world.view + extrarange) * 3 + var/maxdistance = (world.view + extrarange) var/list/listeners = GLOB.player_list if(!ignore_walls) //these sounds don't carry through walls listeners = listeners & hearers(maxdistance,turf_source) From e1f658a50d458b0831a08fc69236fba246253273 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Tue, 5 Dec 2017 16:41:56 -0500 Subject: [PATCH 047/134] Removes ComponentActivated in favor of callbacks --- code/__DEFINES/components.dm | 7 +-- code/datums/components/_component.dm | 36 ++++-------- code/datums/components/archaeology.dm | 6 +- code/datums/components/infective.dm | 3 +- code/datums/components/material_container.dm | 22 +++---- code/datums/components/slippery.dm | 13 ++--- code/game/machinery/autolathe.dm | 30 ++++------ code/game/mecha/mech_fabricator.dm | 24 ++++---- .../objects/items/devices/PDA/PDA_types.dm | 7 +++ code/game/turfs/open.dm | 9 +-- .../turfs/simulated/floor/plating/asteroid.dm | 9 +-- code/modules/research/circuitprinter.dm | 52 +++++++++++++++++ code/modules/research/protolathe.dm | 58 ++++++++++++++++++- code/modules/research/rdmachines.dm | 12 ++++ 14 files changed, 190 insertions(+), 98 deletions(-) diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index 4a50214bb7..7da895a593 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -10,11 +10,6 @@ #define COMPONENT_DUPE_ALLOWED 1 //duplicates allowed #define COMPONENT_DUPE_UNIQUE 2 //new component is deleted -// Signal return value flags -// The other defines are under the signal they're used in - -#define COMPONENT_ACTIVATED 1 // call parent.ComponentActivated(comp) and component.AfterComponentActivated() - // All signals. Format: // When the signal is called: (signal arguments) @@ -28,7 +23,7 @@ // /atom signals #define COMSIG_PARENT_ATTACKBY "atom_attackby" //from base of atom/attackby(): (/obj/item, /mob/living, params) - #define COMPONENT_NO_AFTERATTACK 2 //Return this in response if you don't want afterattack to be called + #define COMPONENT_NO_AFTERATTACK 1 //Return this in response if you don't want afterattack to be called #define COMSIG_ATOM_HULK_ATTACK "hulk_attack" //from base of atom/attack_hulk(): (/mob/living/carbon/human) #define COMSIG_PARENT_EXAMINE "atom_examine" //from base of atom/examine(): (/mob) #define COMSIG_ATOM_ENTERED "atom_entered" //from base of atom/Entered(): (/atom/movable, /atom) diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm index e346f60bff..192aa96044 100644 --- a/code/datums/components/_component.dm +++ b/code/datums/components/_component.dm @@ -142,10 +142,6 @@ /datum/component/proc/OnTransfer(datum/new_parent) return -/datum/component/proc/AfterComponentActivated() - set waitfor = FALSE - return - /datum/component/proc/_GetInverseTypeList(our_type = type) #if DM_VERSION >= 513 #warning 512 is definitely stable now, remove the old code @@ -177,28 +173,16 @@ var/datum/callback/CB = C.signal_procs[sigtype] if(!CB) return NONE - . = CB.InvokeAsync(arglist(arguments)) - if(. & COMPONENT_ACTIVATED) - ComponentActivated(C) - C.AfterComponentActivated() - else - . = NONE - for(var/I in target) - var/datum/component/C = I - if(!C.enabled) - continue - var/datum/callback/CB = C.signal_procs[sigtype] - if(!CB) - continue - var/retval = CB.InvokeAsync(arglist(arguments)) - . |= retval - if(retval & COMPONENT_ACTIVATED) - ComponentActivated(C) - C.AfterComponentActivated() - -/datum/proc/ComponentActivated(datum/component/C) - set waitfor = FALSE - return + return CB.InvokeAsync(arglist(arguments)) + . = NONE + for(var/I in target) + var/datum/component/C = I + if(!C.enabled) + continue + var/datum/callback/CB = C.signal_procs[sigtype] + if(!CB) + continue + . |= CB.InvokeAsync(arglist(arguments)) /datum/proc/GetComponent(c_type) var/list/dc = datum_components diff --git a/code/datums/components/archaeology.dm b/code/datums/components/archaeology.dm index 05a56952b6..6fb2b67051 100644 --- a/code/datums/components/archaeology.dm +++ b/code/datums/components/archaeology.dm @@ -3,10 +3,12 @@ var/list/archdrops var/prob2drop var/dug + var/datum/callback/callback -/datum/component/archaeology/Initialize(_prob2drop, list/_archdrops = list()) +/datum/component/archaeology/Initialize(_prob2drop, list/_archdrops = list(), datum/callback/_callback) prob2drop = Clamp(_prob2drop, 0, 100) archdrops = _archdrops + callback = _callback RegisterSignal(COMSIG_PARENT_ATTACKBY,.proc/Dig) RegisterSignal(COMSIG_ATOM_EX_ACT, .proc/BombDig) RegisterSignal(COMSIG_ATOM_SING_PULL, .proc/SingDig) @@ -67,6 +69,8 @@ if(OT.slowdown) //Things like snow slow you down until you dig them. OT.slowdown = 0 dug = TRUE + if(callback) + callback.Invoke() /datum/component/archaeology/proc/SingDig(S, current_size) switch(current_size) diff --git a/code/datums/components/infective.dm b/code/datums/components/infective.dm index 5b2232b8a9..521d9ece2c 100644 --- a/code/datums/components/infective.dm +++ b/code/datums/components/infective.dm @@ -9,5 +9,4 @@ var/mob/living/carbon/victim = AM if(istype(victim)) for(var/datum/disease/D in diseases) - victim.ContactContractDisease(D, "feet") - return COMPONENT_ACTIVATED \ No newline at end of file + victim.ContactContractDisease(D, "feet") \ No newline at end of file diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm index ec9ac1d1e6..5e989005be 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -16,20 +16,19 @@ var/list/materials var/show_on_examine var/list/allowed_typecache - var/last_inserted_type var/last_inserted_id - var/last_amount_inserted - var/last_insert_success var/precise_insertion = FALSE var/datum/callback/precondition + var/datum/callback/after_insert -/datum/component/material_container/Initialize(list/mat_list, max_amt = 0, _show_on_examine = FALSE, list/allowed_types, datum/callback/_precondition) +/datum/component/material_container/Initialize(list/mat_list, max_amt = 0, _show_on_examine = FALSE, list/allowed_types, datum/callback/_precondition, datum/callback/_after_insert) materials = list() max_amount = max(0, max_amt) show_on_examine = _show_on_examine if(allowed_types) allowed_typecache = typecacheof(allowed_types) precondition = _precondition + after_insert = _after_insert RegisterSignal(COMSIG_PARENT_ATTACKBY, .proc/OnAttackBy) RegisterSignal(COMSIG_PARENT_EXAMINE, .proc/OnExamine) @@ -57,8 +56,7 @@ if((I.flags_2 & (HOLOGRAM_2 | NO_MAT_REDEMPTION_2)) || (tc && !is_type_in_typecache(I, tc))) to_chat(user, "[parent] won't accept [I]!") return - . = COMPONENT_ACTIVATED | COMPONENT_NO_AFTERATTACK - last_insert_success = FALSE + . = COMPONENT_NO_AFTERATTACK var/datum/callback/pc = precondition if(pc && !pc.Invoke()) return @@ -69,11 +67,12 @@ if(!has_space(material_amount)) to_chat(user, "[parent] is full. Please remove metal or glass from [parent] in order to insert more.") return - INVOKE_ASYNC(src, .proc/user_insert, I, user) + user_insert(I, user) /datum/component/material_container/proc/user_insert(obj/item/I, mob/living/user) var/requested_amount - if(istype(I, /obj/item/stack) && precise_insertion) + var/Itype = I.type + if(ispath(Itype, /obj/item/stack) && precise_insertion) var/atom/current_parent = parent requested_amount = input(user, "How much do you want to insert?", "Inserting sheets") as num|null if(isnull(requested_amount) || (requested_amount <= 0)) @@ -85,7 +84,6 @@ return var/inserted = insert_item(I, stack_amt = requested_amount) if(inserted) - last_insert_success = TRUE if(istype(I, /obj/item/stack)) to_chat(user, "You insert [inserted] sheet[inserted>1 ? "s" : ""] into [parent].") if(!QDELETED(I)) @@ -93,6 +91,8 @@ else to_chat(user, "You insert a material total of [inserted] into [parent].") qdel(I) + if(after_insert) + after_insert.Invoke(Itype, last_inserted_id, inserted) else user.put_in_active_hand(I) @@ -132,9 +132,7 @@ return FALSE last_inserted_id = insert_materials(S,amt) - last_inserted_type = S.type S.use(amt) - last_amount_inserted = amt return amt /datum/component/material_container/proc/insert_item(obj/item/I, multiplier = 1, stack_amt) @@ -148,8 +146,6 @@ return FALSE last_inserted_id = insert_materials(I, multiplier) - last_inserted_type = I.type - last_amount_inserted = material_amount return material_amount /datum/component/material_container/proc/insert_materials(obj/item/I, multiplier = 1) //for internal usage only diff --git a/code/datums/components/slippery.dm b/code/datums/components/slippery.dm index c174ba5ecb..24cb22020d 100644 --- a/code/datums/components/slippery.dm +++ b/code/datums/components/slippery.dm @@ -1,18 +1,15 @@ /datum/component/slippery var/intensity var/lube_flags - var/mob/slip_victim + var/datum/callback/callback -/datum/component/slippery/Initialize(_intensity, _lube_flags = NONE) +/datum/component/slippery/Initialize(_intensity, _lube_flags = NONE, datum/callback/_callback) intensity = max(_intensity, 0) lube_flags = _lube_flags + callback = _callback RegisterSignal(list(COMSIG_MOVABLE_CROSSED, COMSIG_ATOM_ENTERED), .proc/Slip) /datum/component/slippery/proc/Slip(atom/movable/AM) var/mob/victim = AM - if(istype(victim) && !victim.is_flying() && victim.slip(intensity, parent, lube_flags)) - slip_victim = victim - return COMPONENT_ACTIVATED - -/datum/component/slippery/AfterComponentActivated() - slip_victim = null + if(istype(victim) && !victim.is_flying() && victim.slip(intensity, parent, lube_flags) && callback) + callback.Invoke(victim) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index d783be292e..9ce42f580c 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -46,7 +46,7 @@ ) /obj/machinery/autolathe/Initialize() - AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS)) + AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS), 0, FALSE, null, null, CALLBACK(src, .proc/AfterMaterialInsert)) . = ..() wires = new /datum/wires/autolathe(src) @@ -124,23 +124,17 @@ return ..() -/obj/machinery/mecha_part_fabricator/ComponentActivated(datum/component/C) - ..() - if(istype(C, /datum/component/material_container)) - var/datum/component/material_container/M = C - if(!M.last_insert_success) - return - var/lit = M.last_inserted_type - if(ispath(lit, /obj/item/ore/bluespace_crystal)) - use_power(max(500,M.last_amount_inserted/10)) - else - switch(M.last_inserted_id) - if (MAT_METAL) - flick("autolathe_o",src)//plays metal insertion animation - if (MAT_GLASS) - flick("autolathe_r",src)//plays glass insertion animation - use_power(M.last_amount_inserted*100) - updateUsrDialog() +/obj/machinery/autolathe/proc/AfterMaterialInsert(type_inserted, id_inserted, amount_inserted) + if(ispath(type_inserted, /obj/item/ore/bluespace_crystal)) + use_power(max(500, amount_inserted / 10)) + else + switch(id_inserted) + if (MAT_METAL) + flick("autolathe_o",src)//plays metal insertion animation + if (MAT_GLASS) + flick("autolathe_r",src)//plays glass insertion animation + use_power(amount_inserted * 100) + updateUsrDialog() /obj/machinery/autolathe/Topic(href, href_list) if(..()) diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index be0f596ced..f0b2915794 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -35,12 +35,21 @@ ) /obj/machinery/mecha_part_fabricator/Initialize() +<<<<<<< HEAD var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready)) materials.precise_insertion = TRUE . = ..() files = new /datum/research(src) //Setup the research data holder. +======= + var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, + list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), + FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) + materials.precise_insertion = TRUE + stored_research = new + return ..() +>>>>>>> 3aba012... Removes ComponentActivated in favor of callbacks (#33274) /obj/machinery/mecha_part_fabricator/RefreshParts() var/T = 0 @@ -415,16 +424,11 @@ materials.retrieve_all() ..() -/obj/machinery/mecha_part_fabricator/ComponentActivated(datum/component/C) - ..() - if(istype(C, /datum/component/material_container)) - var/datum/component/material_container/M = C - if(!M.last_insert_success) - return - var/stack_name = material2name(M.last_inserted_id) - add_overlay("fab-load-[stack_name]") - addtimer(CALLBACK(src, /atom/proc/cut_overlay, "fab-load-[stack_name]"), 10) - updateUsrDialog() +/obj/machinery/mecha_part_fabricator/proc/AfterMaterialInsert(type_inserted, id_inserted, amount_inserted) + var/stack_name = material2name(id_inserted) + add_overlay("fab-load-[stack_name]") + addtimer(CALLBACK(src, /atom/proc/cut_overlay, "fab-load-[stack_name]"), 10) + updateUsrDialog() /obj/machinery/mecha_part_fabricator/attackby(obj/item/W, mob/user, params) if(default_deconstruction_screwdriver(user, "fab-o", "fab-idle", W)) diff --git a/code/game/objects/items/devices/PDA/PDA_types.dm b/code/game/objects/items/devices/PDA/PDA_types.dm index 4f2db14fa6..90eff4b735 100644 --- a/code/game/objects/items/devices/PDA/PDA_types.dm +++ b/code/game/objects/items/devices/PDA/PDA_types.dm @@ -10,6 +10,7 @@ /obj/item/device/pda/clown/Initialize() . = ..() +<<<<<<< HEAD AddComponent(/datum/component/slippery, 120, NO_SLIP_WHEN_WALKING) /obj/item/device/pda/clown/ComponentActivated(datum/component/C) @@ -20,6 +21,12 @@ var/mob/living/carbon/human/M = S.slip_victim if (istype(M) && (M.real_name != src.owner)) slipvictims |= M +======= + AddComponent(/datum/component/slippery, 120, NO_SLIP_WHEN_WALKING, CALLBACK(src, .proc/AfterSlip)) + +/obj/item/device/pda/clown/proc/AfterSlip(mob/living/carbon/human/M) + if (istype(M) && (M.real_name != owner)) +>>>>>>> 3aba012... Removes ComponentActivated in favor of callbacks (#33274) var/obj/item/cartridge/virus/clown/cart = cartridge if(istype(cart) && cart.charges < 5) cart.charges++ diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index ae6aa0cb2d..5d83d677de 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -275,17 +275,12 @@ else qdel(GetComponent(/datum/component/slippery)) return - var/datum/component/slippery/S = LoadComponent(/datum/component/slippery) + var/datum/component/slippery/S = LoadComponent(/datum/component/slippery, NONE, CALLBACK(src, .proc/AfterSlip)) S.intensity = intensity S.lube_flags = lube_flags -/turf/open/ComponentActivated(datum/component/C) - ..() - var/datum/component/slippery/S = C - if(!istype(S)) - return +/turf/open/proc/AfterSlip(mob/living/L) if(wet == TURF_WET_LUBE) - var/mob/living/L = S.slip_victim L.confused = max(L.confused, 8) /turf/open/proc/MakeDry(wet_setting = TURF_WET_WATER) diff --git a/code/game/turfs/simulated/floor/plating/asteroid.dm b/code/game/turfs/simulated/floor/plating/asteroid.dm index abbf83a164..b2ab28dcae 100644 --- a/code/game/turfs/simulated/floor/plating/asteroid.dm +++ b/code/game/turfs/simulated/floor/plating/asteroid.dm @@ -87,6 +87,9 @@ /turf/open/floor/plating/asteroid/basalt/Initialize() . = ..() set_basalt_light(src) + GET_COMPONENT(arch, /datum/component/archaeology) + ASSERT(isnull(arch.callback)) + arch.callback = CALLBACK(src, /atom/proc/set_light, 0) /proc/set_basalt_light(turf/open/floor/B) switch(B.icon_state) @@ -95,12 +98,6 @@ if("basalt5", "basalt9") B.set_light(1.4, 0.6, LIGHT_COLOR_LAVA) //barely anything! -/turf/open/floor/plating/asteroid/basalt/ComponentActivated(datum/component/C) - ..() - if(istype(C, /datum/component/archaeology)) - set_light(0) - - ///////Surface. The surface is warm, but survivable without a suit. Internals are required. The floors break to chasms, which drop you into the underground. /turf/open/floor/plating/asteroid/basalt/lava_land_surface diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index ebeb869d9c..c863ba8afa 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -27,9 +27,15 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). "Computer Parts" ) +<<<<<<< HEAD /obj/machinery/r_n_d/circuit_imprinter/Initialize() var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, list(MAT_GLASS, MAT_GOLD, MAT_DIAMOND, MAT_METAL, MAT_BLUESPACE), FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready)) +======= +/obj/machinery/rnd/circuit_imprinter/Initialize() + materials = AddComponent(/datum/component/material_container, list(MAT_GLASS, MAT_GOLD, MAT_DIAMOND, MAT_METAL, MAT_BLUESPACE), + FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) +>>>>>>> 3aba012... Removes ComponentActivated in favor of callbacks (#33274) materials.precise_insertion = TRUE create_reagents(0) return ..() @@ -77,6 +83,7 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). linked_console.linked_imprinter = null ..() +<<<<<<< HEAD /obj/machinery/r_n_d/circuit_imprinter/ComponentActivated(datum/component/C) ..() if(istype(C, /datum/component/material_container)) @@ -94,3 +101,48 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). use_power(max(1000, (MINERAL_MATERIAL_AMOUNT * M.last_amount_inserted / 10))) add_overlay("protolathe_[stack_name]") addtimer(CALLBACK(src, /atom/proc/cut_overlay, "protolathe_[stack_name]"), 10) +======= +/obj/machinery/rnd/circuit_imprinter/proc/user_try_print_id(id) + if((!linked_console && requires_console) || !id) + return FALSE + var/datum/design/D = (linked_console || requires_console)? linked_console.stored_research.researched_designs[id] : get_techweb_design_by_id(id) + if(!istype(D)) + return FALSE + + var/power = 1000 + for(var/M in D.materials) + power += round(D.materials[M] / 5) + power = max(4000, power) + use_power(power) + + var/list/efficient_mats = list() + for(var/MAT in D.materials) + efficient_mats[MAT] = D.materials[MAT]/efficiency_coeff + + if(!materials.has_materials(efficient_mats)) + say("Not enough materials to complete prototype.") + return FALSE + for(var/R in D.reagents_list) + if(!reagents.has_reagent(R, D.reagents_list[R]/efficiency_coeff)) + say("Not enough reagents to complete prototype.") + return FALSE + + busy = TRUE + flick("circuit_imprinter_ani", src) + materials.use_amount(efficient_mats) + for(var/R in D.reagents_list) + reagents.remove_reagent(R, D.reagents_list[R]/efficiency_coeff) + + var/P = D.build_path + addtimer(CALLBACK(src, .proc/reset_busy), 16) + addtimer(CALLBACK(src, .proc/do_print, P, efficient_mats, D.dangerous_construction), 16) + return TRUE + +/obj/machinery/rnd/circuit_imprinter/proc/do_print(path, list/matlist, notify_admins) + if(notify_admins && usr) + investigate_log("[key_name(usr)] built [path] at a circuit imprinter.", INVESTIGATE_RESEARCH) + message_admins("[ADMIN_LOOKUPFLW(usr)] has built [path] at a circuit imprinter.") + var/obj/item/I = new path(get_turf(src)) + I.materials = matlist.Copy() + SSblackbox.record_feedback("nested_tally", "circuit_printed", 1, list("[type]", "[path]")) +>>>>>>> 3aba012... Removes ComponentActivated in favor of callbacks (#33274) diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index 9df4946ed2..1447e77dd6 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -35,7 +35,7 @@ Note: Must be placed west/left of and R&D console to function. create_reagents(0) var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), - FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready)) + FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) materials.precise_insertion = TRUE return ..() @@ -78,6 +78,7 @@ Note: Must be placed west/left of and R&D console to function. linked_console.linked_lathe = null ..() +<<<<<<< HEAD /obj/machinery/r_n_d/protolathe/ComponentActivated(datum/component/C) ..() if(istype(C, /datum/component/material_container)) @@ -95,3 +96,58 @@ Note: Must be placed west/left of and R&D console to function. use_power(max(1000, (MINERAL_MATERIAL_AMOUNT * M.last_amount_inserted / 10))) add_overlay("protolathe_[stack_name]") addtimer(CALLBACK(src, /atom/proc/cut_overlay, "protolathe_[stack_name]"), 10) +======= +/obj/machinery/rnd/protolathe/proc/user_try_print_id(id, amount) + if((!istype(linked_console) && requires_console) || !id) + return FALSE + if(istext(amount)) + amount = text2num(amount) + if(isnull(amount)) + amount = 1 + var/datum/design/D = (linked_console || requires_console)? linked_console.stored_research.researched_designs[id] : get_techweb_design_by_id(id) + if(!istype(D)) + return FALSE + if(D.make_reagents.len) + return FALSE + + var/power = 1000 + amount = Clamp(amount, 1, 10) + for(var/M in D.materials) + power += round(D.materials[M] * amount / 5) + power = max(3000, power) + use_power(power) + + var/list/efficient_mats = list() + for(var/MAT in D.materials) + efficient_mats[MAT] = D.materials[MAT]*efficiency_coeff + + if(!materials.has_materials(efficient_mats, amount)) + say("Not enough materials to complete prototype[amount > 1? "s" : ""].") + return FALSE + for(var/R in D.reagents_list) + if(!reagents.has_reagent(R, D.reagents_list[R]*efficiency_coeff)) + say("Not enough reagents to complete prototype[amount > 1? "s" : ""].") + return FALSE + + materials.use_amount(efficient_mats, amount) + for(var/R in D.reagents_list) + reagents.remove_reagent(R, D.reagents_list[R]*efficiency_coeff) + + busy = TRUE + flick("protolathe_n", src) + var/timecoeff = efficiency_coeff * D.lathe_time_factor + + addtimer(CALLBACK(src, .proc/reset_busy), (32 * timecoeff * amount) ** 0.8) + addtimer(CALLBACK(src, .proc/do_print, D.build_path, amount, efficient_mats, D.dangerous_construction), (32 * timecoeff * amount) ** 0.8) + return TRUE + +/obj/machinery/rnd/protolathe/proc/do_print(path, amount, list/matlist, notify_admins) + if(notify_admins && usr) + investigate_log("[key_name(usr)] built [amount] of [path] at a protolathe.", INVESTIGATE_RESEARCH) + message_admins("[ADMIN_LOOKUPFLW(usr)] has built [amount] of [path] at a protolathe") + for(var/i in 1 to amount) + var/obj/item/I = new path(get_turf(src)) + if(!istype(I, /obj/item/stack/sheet) && !istype(I, /obj/item/ore/bluespace_crystal)) + I.materials = matlist.Copy() + SSblackbox.record_feedback("nested_tally", "item_printed", amount, list("[type]", "[path]")) +>>>>>>> 3aba012... Removes ComponentActivated in favor of callbacks (#33274) diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm index 973a496254..94ccfb4691 100644 --- a/code/modules/research/rdmachines.dm +++ b/code/modules/research/rdmachines.dm @@ -106,3 +106,15 @@ if(loaded_item) loaded_item.forceMove(loc) ..() + +/obj/machinery/rnd/proc/AfterMaterialInsert(type_inserted, id_inserted, amount_inserted) + var/stack_name + if(ispath(type_inserted, /obj/item/ore/bluespace_crystal)) + stack_name = "bluespace" + use_power(MINERAL_MATERIAL_AMOUNT / 10) + else + var/obj/item/stack/S = type_inserted + stack_name = initial(S.name) + use_power(max(1000, (MINERAL_MATERIAL_AMOUNT * amount_inserted / 10))) + add_overlay("protolathe_[stack_name]") + addtimer(CALLBACK(src, /atom/proc/cut_overlay, "protolathe_[stack_name]"), 10) From efa085585870a9da304bf0eac87f39010a4bf8ed Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Tue, 5 Dec 2017 16:49:19 -0500 Subject: [PATCH 048/134] Removes bad comment. Makes check saner (#33270) --- code/game/atoms.dm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 6c467bc53b..b7d377fb61 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -37,7 +37,7 @@ GLOB._preloader.load(src) var/do_initialize = SSatoms.initialized - if(do_initialize > INITIALIZATION_INSSATOMS) + if(do_initialize != INITIALIZATION_INSSATOMS) args[1] = do_initialize == INITIALIZATION_INNEW_MAPLOAD if(SSatoms.InitAtom(src, args)) //we were deleted @@ -57,9 +57,7 @@ //Note: the following functions don't call the base for optimization and must copypasta: // /turf/Initialize // /turf/open/space/Initialize -// /mob/dead/new_player/Initialize -//Do also note that this proc always runs in New for /mob/dead /atom/proc/Initialize(mapload, ...) if(initialized) stack_trace("Warning: [src]([type]) initialized multiple times!") From 76746cd57a665976f1f56818aca32cfe4b5a0789 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Tue, 5 Dec 2017 16:51:36 -0500 Subject: [PATCH 050/134] Minor component optimizations (#33269) * Minor component optimizations * Second argument of list.Copy is optional --- code/datums/components/_component.dm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm index e346f60bff..0f435d0a03 100644 --- a/code/datums/components/_component.dm +++ b/code/datums/components/_component.dm @@ -14,13 +14,13 @@ if(!isnum(dupe_mode)) qdel(src) CRASH("[type]: Invalid dupe_mode!") - if(dupe_type && !ispath(dupe_type)) + var/dt = dupe_type + if(dt && !ispath(dt)) qdel(src) CRASH("[type]: Invalid dupe_type!") parent = P - var/list/arguments = args.Copy() - arguments.Cut(1, 2) + var/list/arguments = args.Copy(2) if(Initialize(arglist(arguments)) == COMPONENT_INCOMPATIBLE) qdel(src, TRUE, TRUE) return @@ -167,8 +167,7 @@ var/list/comps = datum_components if(!comps) return NONE - var/list/arguments = args.Copy() - arguments.Cut(1, 2) + var/list/arguments = args.Copy(2) var/target = comps[/datum/component] if(!length(target)) var/datum/component/C = target From 8b3947df06463e19a9fc48bba712885fc1d98555 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 5 Dec 2017 16:40:41 -0600 Subject: [PATCH 052/134] Automatic changelog generation for PR #4234 [ci skip] --- html/changelogs/AutoChangeLog-pr-4234.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4234.yml diff --git a/html/changelogs/AutoChangeLog-pr-4234.yml b/html/changelogs/AutoChangeLog-pr-4234.yml new file mode 100644 index 0000000000..3310bdb750 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4234.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - bugfix: "Syndicate uplink implants now work again." From 84f6a652c08e8932f39e90995c310f0d8bd626b6 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 5 Dec 2017 16:41:03 -0600 Subject: [PATCH 053/134] Automatic changelog generation for PR #4235 [ci skip] --- html/changelogs/AutoChangeLog-pr-4235.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4235.yml diff --git a/html/changelogs/AutoChangeLog-pr-4235.yml b/html/changelogs/AutoChangeLog-pr-4235.yml new file mode 100644 index 0000000000..35197c0edf --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4235.yml @@ -0,0 +1,4 @@ +author: "Robustin" +delete-after: True +changes: + - rscdel: "Reverted changes in 3d sound system that tripled the distance that sound would carry." From cf23ed4e1457315df9ea57bd4bd0c473b196368b Mon Sep 17 00:00:00 2001 From: deathride58 Date: Tue, 5 Dec 2017 17:42:56 -0500 Subject: [PATCH 054/134] Update mech_fabricator.dm --- code/game/mecha/mech_fabricator.dm | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index f0b2915794..11d111befc 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -35,21 +35,11 @@ ) /obj/machinery/mecha_part_fabricator/Initialize() -<<<<<<< HEAD - var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, - list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), - FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready)) - materials.precise_insertion = TRUE - . = ..() - files = new /datum/research(src) //Setup the research data holder. -======= var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) materials.precise_insertion = TRUE - stored_research = new return ..() ->>>>>>> 3aba012... Removes ComponentActivated in favor of callbacks (#33274) /obj/machinery/mecha_part_fabricator/RefreshParts() var/T = 0 From 3bff5f4cd680c00d4f8f8949b12b9b9df17ab703 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Tue, 5 Dec 2017 17:43:52 -0500 Subject: [PATCH 055/134] Update PDA_types.dm --- code/game/objects/items/devices/PDA/PDA_types.dm | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/code/game/objects/items/devices/PDA/PDA_types.dm b/code/game/objects/items/devices/PDA/PDA_types.dm index 90eff4b735..b1a4a9f6f8 100644 --- a/code/game/objects/items/devices/PDA/PDA_types.dm +++ b/code/game/objects/items/devices/PDA/PDA_types.dm @@ -10,23 +10,11 @@ /obj/item/device/pda/clown/Initialize() . = ..() -<<<<<<< HEAD - AddComponent(/datum/component/slippery, 120, NO_SLIP_WHEN_WALKING) - -/obj/item/device/pda/clown/ComponentActivated(datum/component/C) - ..() - var/datum/component/slippery/S = C - if(!istype(S)) - return - var/mob/living/carbon/human/M = S.slip_victim - if (istype(M) && (M.real_name != src.owner)) - slipvictims |= M -======= AddComponent(/datum/component/slippery, 120, NO_SLIP_WHEN_WALKING, CALLBACK(src, .proc/AfterSlip)) /obj/item/device/pda/clown/proc/AfterSlip(mob/living/carbon/human/M) if (istype(M) && (M.real_name != owner)) ->>>>>>> 3aba012... Removes ComponentActivated in favor of callbacks (#33274) + slipvictims |=M var/obj/item/cartridge/virus/clown/cart = cartridge if(istype(cart) && cart.charges < 5) cart.charges++ From 9c0eae753dfe5b032392736c88cd12ed47751988 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Tue, 5 Dec 2017 17:44:45 -0500 Subject: [PATCH 056/134] Update circuitprinter.dm --- code/modules/research/circuitprinter.dm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index c863ba8afa..8609262aa3 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -27,15 +27,9 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). "Computer Parts" ) -<<<<<<< HEAD /obj/machinery/r_n_d/circuit_imprinter/Initialize() - var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, list(MAT_GLASS, MAT_GOLD, MAT_DIAMOND, MAT_METAL, MAT_BLUESPACE), - FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready)) -======= -/obj/machinery/rnd/circuit_imprinter/Initialize() materials = AddComponent(/datum/component/material_container, list(MAT_GLASS, MAT_GOLD, MAT_DIAMOND, MAT_METAL, MAT_BLUESPACE), FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) ->>>>>>> 3aba012... Removes ComponentActivated in favor of callbacks (#33274) materials.precise_insertion = TRUE create_reagents(0) return ..() From 15fd10790ce50047ca6d4d2a68177150ce0ed593 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Tue, 5 Dec 2017 17:46:31 -0500 Subject: [PATCH 057/134] Update circuitprinter.dm --- code/modules/research/circuitprinter.dm | 46 ------------------------- 1 file changed, 46 deletions(-) diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index 8609262aa3..f32b399f09 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -77,7 +77,6 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). linked_console.linked_imprinter = null ..() -<<<<<<< HEAD /obj/machinery/r_n_d/circuit_imprinter/ComponentActivated(datum/component/C) ..() if(istype(C, /datum/component/material_container)) @@ -95,48 +94,3 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). use_power(max(1000, (MINERAL_MATERIAL_AMOUNT * M.last_amount_inserted / 10))) add_overlay("protolathe_[stack_name]") addtimer(CALLBACK(src, /atom/proc/cut_overlay, "protolathe_[stack_name]"), 10) -======= -/obj/machinery/rnd/circuit_imprinter/proc/user_try_print_id(id) - if((!linked_console && requires_console) || !id) - return FALSE - var/datum/design/D = (linked_console || requires_console)? linked_console.stored_research.researched_designs[id] : get_techweb_design_by_id(id) - if(!istype(D)) - return FALSE - - var/power = 1000 - for(var/M in D.materials) - power += round(D.materials[M] / 5) - power = max(4000, power) - use_power(power) - - var/list/efficient_mats = list() - for(var/MAT in D.materials) - efficient_mats[MAT] = D.materials[MAT]/efficiency_coeff - - if(!materials.has_materials(efficient_mats)) - say("Not enough materials to complete prototype.") - return FALSE - for(var/R in D.reagents_list) - if(!reagents.has_reagent(R, D.reagents_list[R]/efficiency_coeff)) - say("Not enough reagents to complete prototype.") - return FALSE - - busy = TRUE - flick("circuit_imprinter_ani", src) - materials.use_amount(efficient_mats) - for(var/R in D.reagents_list) - reagents.remove_reagent(R, D.reagents_list[R]/efficiency_coeff) - - var/P = D.build_path - addtimer(CALLBACK(src, .proc/reset_busy), 16) - addtimer(CALLBACK(src, .proc/do_print, P, efficient_mats, D.dangerous_construction), 16) - return TRUE - -/obj/machinery/rnd/circuit_imprinter/proc/do_print(path, list/matlist, notify_admins) - if(notify_admins && usr) - investigate_log("[key_name(usr)] built [path] at a circuit imprinter.", INVESTIGATE_RESEARCH) - message_admins("[ADMIN_LOOKUPFLW(usr)] has built [path] at a circuit imprinter.") - var/obj/item/I = new path(get_turf(src)) - I.materials = matlist.Copy() - SSblackbox.record_feedback("nested_tally", "circuit_printed", 1, list("[type]", "[path]")) ->>>>>>> 3aba012... Removes ComponentActivated in favor of callbacks (#33274) From db8ef8969dbf5cfc13fa0ead59bce796da2e8559 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Tue, 5 Dec 2017 17:47:12 -0500 Subject: [PATCH 058/134] Update protolathe.dm --- code/modules/research/protolathe.dm | 56 ----------------------------- 1 file changed, 56 deletions(-) diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index 1447e77dd6..2bbd439d65 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -78,7 +78,6 @@ Note: Must be placed west/left of and R&D console to function. linked_console.linked_lathe = null ..() -<<<<<<< HEAD /obj/machinery/r_n_d/protolathe/ComponentActivated(datum/component/C) ..() if(istype(C, /datum/component/material_container)) @@ -96,58 +95,3 @@ Note: Must be placed west/left of and R&D console to function. use_power(max(1000, (MINERAL_MATERIAL_AMOUNT * M.last_amount_inserted / 10))) add_overlay("protolathe_[stack_name]") addtimer(CALLBACK(src, /atom/proc/cut_overlay, "protolathe_[stack_name]"), 10) -======= -/obj/machinery/rnd/protolathe/proc/user_try_print_id(id, amount) - if((!istype(linked_console) && requires_console) || !id) - return FALSE - if(istext(amount)) - amount = text2num(amount) - if(isnull(amount)) - amount = 1 - var/datum/design/D = (linked_console || requires_console)? linked_console.stored_research.researched_designs[id] : get_techweb_design_by_id(id) - if(!istype(D)) - return FALSE - if(D.make_reagents.len) - return FALSE - - var/power = 1000 - amount = Clamp(amount, 1, 10) - for(var/M in D.materials) - power += round(D.materials[M] * amount / 5) - power = max(3000, power) - use_power(power) - - var/list/efficient_mats = list() - for(var/MAT in D.materials) - efficient_mats[MAT] = D.materials[MAT]*efficiency_coeff - - if(!materials.has_materials(efficient_mats, amount)) - say("Not enough materials to complete prototype[amount > 1? "s" : ""].") - return FALSE - for(var/R in D.reagents_list) - if(!reagents.has_reagent(R, D.reagents_list[R]*efficiency_coeff)) - say("Not enough reagents to complete prototype[amount > 1? "s" : ""].") - return FALSE - - materials.use_amount(efficient_mats, amount) - for(var/R in D.reagents_list) - reagents.remove_reagent(R, D.reagents_list[R]*efficiency_coeff) - - busy = TRUE - flick("protolathe_n", src) - var/timecoeff = efficiency_coeff * D.lathe_time_factor - - addtimer(CALLBACK(src, .proc/reset_busy), (32 * timecoeff * amount) ** 0.8) - addtimer(CALLBACK(src, .proc/do_print, D.build_path, amount, efficient_mats, D.dangerous_construction), (32 * timecoeff * amount) ** 0.8) - return TRUE - -/obj/machinery/rnd/protolathe/proc/do_print(path, amount, list/matlist, notify_admins) - if(notify_admins && usr) - investigate_log("[key_name(usr)] built [amount] of [path] at a protolathe.", INVESTIGATE_RESEARCH) - message_admins("[ADMIN_LOOKUPFLW(usr)] has built [amount] of [path] at a protolathe") - for(var/i in 1 to amount) - var/obj/item/I = new path(get_turf(src)) - if(!istype(I, /obj/item/stack/sheet) && !istype(I, /obj/item/ore/bluespace_crystal)) - I.materials = matlist.Copy() - SSblackbox.record_feedback("nested_tally", "item_printed", amount, list("[type]", "[path]")) ->>>>>>> 3aba012... Removes ComponentActivated in favor of callbacks (#33274) From 838011614eb9e7d33adbf1f401ac9ee3787ded75 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Tue, 5 Dec 2017 17:47:38 -0500 Subject: [PATCH 059/134] Update rdmachines.dm --- code/modules/research/rdmachines.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm index 94ccfb4691..b2acadb896 100644 --- a/code/modules/research/rdmachines.dm +++ b/code/modules/research/rdmachines.dm @@ -107,7 +107,7 @@ loaded_item.forceMove(loc) ..() -/obj/machinery/rnd/proc/AfterMaterialInsert(type_inserted, id_inserted, amount_inserted) +/obj/machinery/r_n_d/proc/AfterMaterialInsert(type_inserted, id_inserted, amount_inserted) var/stack_name if(ispath(type_inserted, /obj/item/ore/bluespace_crystal)) stack_name = "bluespace" From e8b23a8c75dea44d53bb7c60741e7077aa85edf9 Mon Sep 17 00:00:00 2001 From: Mark9013100 Date: Tue, 5 Dec 2017 18:19:01 -0500 Subject: [PATCH 060/134] Omegastation Fixes (#33249) --- _maps/map_files/OmegaStation/OmegaStation.dmm | 638 +++++++++++++++++- 1 file changed, 633 insertions(+), 5 deletions(-) diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index 49d03878bb..30d3b8b4cc 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -654,6 +654,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/bridge) "abl" = ( @@ -667,6 +670,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/bridge) "abm" = ( @@ -708,6 +714,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/bridge) "abr" = ( @@ -730,6 +739,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/bridge) "abs" = ( @@ -1267,6 +1279,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "acx" = ( @@ -1289,6 +1304,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "acz" = ( @@ -1342,6 +1360,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/ruin/unpowered{ name = "Asteroid" @@ -1508,6 +1529,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/bridge) "acX" = ( @@ -1607,6 +1631,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/bridge) "ade" = ( @@ -2038,6 +2065,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/crew_quarters/heads/hop) "adW" = ( @@ -2265,6 +2295,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/security/detectives_office) "aes" = ( @@ -2313,6 +2346,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/crew_quarters/heads/captain/private) "aex" = ( @@ -2634,6 +2670,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/quartermaster/storage) "aeX" = ( @@ -2666,6 +2705,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/ruin/unpowered{ name = "Asteroid" @@ -2737,6 +2779,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/fore) "afj" = ( @@ -2922,6 +2967,9 @@ /obj/structure/cable/white{ icon_state = "4-8" }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/crew_quarters/heads/hop) "afw" = ( @@ -3197,6 +3245,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/fore) "afX" = ( @@ -3521,6 +3572,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/quartermaster/storage) "agC" = ( @@ -3744,6 +3798,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/crew_quarters/heads/captain/private) "agV" = ( @@ -4376,6 +4433,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/quartermaster/storage) "aie" = ( @@ -4528,6 +4588,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/security/brig) "ais" = ( @@ -4546,6 +4609,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/security/brig) "ait" = ( @@ -4578,6 +4644,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/security/detectives_office) "aiw" = ( @@ -4602,6 +4671,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/fore) "aiy" = ( @@ -4618,6 +4690,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/bridge) "aiz" = ( @@ -4649,6 +4724,10 @@ /obj/structure/cable/white{ icon_state = "1-2" }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel/vault{ dir = 8 }, @@ -4671,6 +4750,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/bridge) "aiD" = ( @@ -4714,6 +4796,9 @@ /obj/structure/cable/white{ icon_state = "1-2" }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) "aiI" = ( @@ -5052,6 +5137,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "ajo" = ( @@ -5197,6 +5285,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "ajB" = ( @@ -5673,6 +5764,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "akr" = ( @@ -6032,6 +6126,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/security/brig) "akV" = ( @@ -6132,6 +6229,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "alf" = ( @@ -6155,6 +6255,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/teleporter) "alj" = ( @@ -6170,6 +6273,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/teleporter) "alk" = ( @@ -6302,6 +6408,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) "alx" = ( @@ -6314,6 +6423,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) "aly" = ( @@ -6464,6 +6576,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/security/brig) "alL" = ( @@ -7193,6 +7308,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "anl" = ( @@ -7204,6 +7322,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "anm" = ( @@ -7237,6 +7358,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/quartermaster/storage) "anp" = ( @@ -7459,6 +7583,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "anI" = ( @@ -7470,6 +7597,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "anJ" = ( @@ -7479,6 +7609,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "anK" = ( @@ -7489,6 +7622,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "anL" = ( @@ -7559,6 +7695,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "anS" = ( @@ -7569,6 +7708,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "anT" = ( @@ -7580,6 +7722,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "anU" = ( @@ -7672,6 +7817,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "aoc" = ( @@ -7893,6 +8041,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/security/brig) "aoy" = ( @@ -7930,6 +8081,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/security/brig) "aoB" = ( @@ -8135,6 +8289,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/starboard/central) "aoT" = ( @@ -8235,6 +8392,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "apc" = ( @@ -8315,6 +8475,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/quartermaster/miningdock) "apj" = ( @@ -8358,6 +8521,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/quartermaster/miningdock) "apn" = ( @@ -8381,6 +8547,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/shuttle/mining) "apq" = ( @@ -8424,6 +8593,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/shuttle/mining) "apu" = ( @@ -8470,6 +8642,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/security/brig) "apy" = ( @@ -8536,6 +8711,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/security/brig) "apD" = ( @@ -8576,6 +8754,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/security/brig) "apG" = ( @@ -8723,6 +8904,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/port/central) "apT" = ( @@ -9336,6 +9520,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/crew_quarters/bar/atrium) "ard" = ( @@ -9346,6 +9533,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/crew_quarters/bar/atrium) "are" = ( @@ -9357,6 +9547,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/crew_quarters/bar/atrium) "arf" = ( @@ -9378,6 +9571,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/starboard/central) "arh" = ( @@ -9742,6 +9938,9 @@ /obj/structure/cable/white{ icon_state = "2-4" }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/security/brig) "arH" = ( @@ -9812,6 +10011,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/security/brig) "arM" = ( @@ -9960,6 +10162,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/port/central) "arX" = ( @@ -10498,6 +10703,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/storage/primary) "asV" = ( @@ -10612,6 +10820,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/port/central) "ath" = ( @@ -10691,6 +10902,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "atr" = ( @@ -10874,6 +11088,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/security/brig) "atM" = ( @@ -10911,6 +11128,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/storage/primary) "atP" = ( @@ -11465,6 +11685,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/port/fore) "auN" = ( @@ -11915,6 +12138,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/port/fore) "avL" = ( @@ -12265,6 +12491,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/crew_quarters/bar/atrium) "awt" = ( @@ -12317,6 +12546,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/starboard/central) "awx" = ( @@ -12478,6 +12710,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/port/fore) "awN" = ( @@ -12502,6 +12737,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "awP" = ( @@ -13820,6 +14058,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) "azE" = ( @@ -13963,6 +14204,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "azT" = ( @@ -14039,6 +14283,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/shuttle/escape) "aAd" = ( @@ -14208,6 +14455,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/engine/atmos) "aAv" = ( @@ -14280,6 +14530,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) "aAE" = ( @@ -14349,6 +14602,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/crew_quarters/theatre) "aAN" = ( @@ -14440,6 +14696,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/starboard/central) "aAU" = ( @@ -14573,6 +14832,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) "aBi" = ( @@ -14588,6 +14850,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/shuttle/escape) "aBk" = ( @@ -14866,6 +15131,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) "aBN" = ( @@ -15021,6 +15289,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) "aCe" = ( @@ -15112,6 +15383,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) "aCm" = ( @@ -15145,6 +15419,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/shuttle/escape) "aCr" = ( @@ -15352,6 +15629,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/engine/atmos) "aCJ" = ( @@ -15600,6 +15880,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) "aDj" = ( @@ -15623,7 +15906,13 @@ turf_type = /turf/open/space; width = 30 }, -/turf/open/floor/plating, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/white, /area/shuttle/escape) "aDk" = ( /obj/effect/turf_decal/delivery, @@ -15689,6 +15978,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/engine/atmos) "aDu" = ( @@ -15864,6 +16156,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/crew_quarters/theatre) "aDO" = ( @@ -16332,6 +16627,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "aEI" = ( @@ -16598,6 +16896,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/starboard/central) "aFg" = ( @@ -16644,6 +16945,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) "aFk" = ( @@ -16903,6 +17207,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "aFJ" = ( @@ -17054,6 +17361,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) "aGa" = ( @@ -17111,6 +17421,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/engine/engineering) "aGi" = ( @@ -17148,6 +17461,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/engine/engineering) "aGl" = ( @@ -17183,6 +17499,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/engine/engineering) "aGo" = ( @@ -17841,6 +18160,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/engine/engineering) "aHy" = ( @@ -17953,6 +18275,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/port/central) "aHG" = ( @@ -18062,6 +18387,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/port/central) "aHP" = ( @@ -18126,6 +18454,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) "aHX" = ( @@ -18462,6 +18793,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/port/central) "aID" = ( @@ -18731,6 +19065,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/shuttle/escape) "aJf" = ( @@ -19105,6 +19442,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/port/central) "aJN" = ( @@ -19317,6 +19657,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/shuttle/escape) "aKn" = ( @@ -19332,6 +19675,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/shuttle/escape) "aKp" = ( @@ -19364,6 +19710,9 @@ /obj/structure/cable{ icon_state = "1-4" }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/engine/gravity_generator) "aKt" = ( @@ -19435,6 +19784,9 @@ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/engine/gravity_generator) "aKy" = ( @@ -19541,6 +19893,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/engine/engineering) "aKI" = ( @@ -19884,6 +20239,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) "aLw" = ( @@ -20369,6 +20727,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/starboard/central) "aMw" = ( @@ -20519,6 +20880,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/tcommsat/server) "aMM" = ( @@ -20940,6 +21304,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/crew_quarters/bar/atrium) "aNz" = ( @@ -20951,6 +21318,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/crew_quarters/bar/atrium) "aNA" = ( @@ -21297,6 +21667,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/janitor) "aOg" = ( @@ -21311,6 +21684,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/port/central) "aOh" = ( @@ -21327,6 +21703,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hydroponics) "aOj" = ( @@ -21408,6 +21787,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/starboard/central) "aOv" = ( @@ -21615,6 +21997,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/port) "aOO" = ( @@ -21707,6 +22092,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "aOV" = ( @@ -21847,6 +22235,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "aPe" = ( @@ -22369,6 +22760,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "aQd" = ( @@ -22636,6 +23030,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel/grimy, /area/tcommsat/server) "aQJ" = ( @@ -22766,6 +23163,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/library) "aQZ" = ( @@ -22780,6 +23180,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/library) "aRa" = ( @@ -22806,6 +23209,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/medical/morgue) "aRe" = ( @@ -22907,6 +23313,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/science/research) "aRv" = ( @@ -22919,6 +23328,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/science/research) "aRx" = ( @@ -22935,6 +23347,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/starboard) "aRy" = ( @@ -22956,6 +23371,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/starboard) "aRB" = ( @@ -23330,6 +23748,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "aSu" = ( @@ -23510,6 +23931,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel/vault/telecomms{ dir = 5 }, @@ -23974,6 +24398,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/science/research) "aTP" = ( @@ -24002,6 +24429,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/starboard) "aTR" = ( @@ -24577,6 +25007,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/medical/medbay/zone3) "aVg" = ( @@ -24807,6 +25240,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/starboard) "aVH" = ( @@ -25319,6 +25755,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/medical/medbay/zone3) "aWM" = ( @@ -25340,6 +25779,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/medical/chemistry) "aWO" = ( @@ -25455,6 +25897,10 @@ name = "Server Access"; req_access_txt = "30" }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel/vault{ dir = 8 }, @@ -25667,6 +26113,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/science/research) "aXy" = ( @@ -25762,6 +26211,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/science/research) "aXG" = ( @@ -25848,6 +26300,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/port) "aXO" = ( @@ -26040,6 +26495,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/science/research) "aYi" = ( @@ -26201,6 +26659,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/starboard) "aYv" = ( @@ -26360,7 +26821,10 @@ req_access_txt = "5" }, /obj/effect/turf_decal/stripes/line{ - dir = 2 + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, /turf/open/floor/plasteel, /area/medical/medbay/zone3) @@ -26442,6 +26906,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/medical/medbay/zone3) "aYU" = ( @@ -26507,6 +26974,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) "aZe" = ( @@ -26696,6 +27166,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/port) "aZB" = ( @@ -26757,7 +27230,10 @@ dir = 4 }, /obj/effect/turf_decal/stripes/line{ - dir = 2 + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, /turf/open/floor/plasteel, /area/medical/medbay/zone3) @@ -26874,6 +27350,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/medical/medbay/zone3) "aZQ" = ( @@ -27116,6 +27595,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/port) "bao" = ( @@ -27427,6 +27909,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) "baS" = ( @@ -27646,6 +28131,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/port) "bbp" = ( @@ -27723,6 +28211,9 @@ dir = 8 }, /obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/security/checkpoint) "bby" = ( @@ -27857,6 +28348,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/science/robotics/lab) "bbJ" = ( @@ -27959,6 +28453,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/port) "bbV" = ( @@ -27984,6 +28481,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/port) "bbX" = ( @@ -28007,6 +28507,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/port) "bca" = ( @@ -28112,6 +28615,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/medical/medbay/zone3) "bcl" = ( @@ -28184,6 +28690,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) "bct" = ( @@ -28481,6 +28990,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/security/checkpoint) "bde" = ( @@ -28565,6 +29077,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) "bdl" = ( @@ -28714,6 +29229,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/starboard) "bdB" = ( @@ -28904,6 +29422,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/medical/medbay/zone3) "bdU" = ( @@ -29291,6 +29812,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/port) "beE" = ( @@ -29310,6 +29834,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/port) "beG" = ( @@ -29380,6 +29907,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/science/research) "beN" = ( @@ -29398,6 +29928,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/science/research) "beO" = ( @@ -29420,6 +29953,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/starboard) "beQ" = ( @@ -29591,6 +30127,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/security/checkpoint) "bfg" = ( @@ -29619,6 +30158,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/starboard) "bfj" = ( @@ -29837,6 +30379,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/port) "bfC" = ( @@ -29889,6 +30434,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/port) "bfI" = ( @@ -29982,6 +30530,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/science/xenobiology) "bfR" = ( @@ -30004,6 +30555,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/science/xenobiology) "bfS" = ( @@ -30462,6 +31016,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/maintenance/port) "bgP" = ( @@ -30490,6 +31047,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "bgS" = ( @@ -30504,6 +31064,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "bgT" = ( @@ -30527,6 +31090,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "bgX" = ( @@ -30792,6 +31358,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/chapel/main) "bhz" = ( @@ -31378,6 +31947,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/chapel/main) "biI" = ( @@ -31422,6 +31994,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/chapel/main) "biN" = ( @@ -31526,6 +32101,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "biV" = ( @@ -31539,6 +32117,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "biW" = ( @@ -31760,7 +32341,12 @@ /obj/machinery/atmospherics/pipe/simple/general/hidden{ dir = 4 }, -/obj/effect/turf_decal/stripes/end, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/science/xenobiology) "bjw" = ( @@ -32203,6 +32789,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "bki" = ( @@ -32218,6 +32807,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "bkk" = ( @@ -32583,6 +33175,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/primary/central) "blh" = ( @@ -32887,6 +33482,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) "blM" = ( @@ -32932,13 +33530,16 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) "blZ" = ( /turf/open/floor/plasteel, /area/hallway/secondary/exit) "bmb" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel, /area/hallway/secondary/exit) "bmh" = ( @@ -33040,6 +33641,9 @@ /obj/structure/cable/white{ icon_state = "4-8" }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) "bsC" = ( @@ -33110,6 +33714,9 @@ /obj/structure/cable/white{ icon_state = "4-8" }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) "bsO" = ( @@ -33187,6 +33794,9 @@ /obj/structure/cable/white{ icon_state = "1-2" }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) "bsY" = ( @@ -33204,6 +33814,12 @@ /obj/structure/cable/white{ icon_state = "4-8" }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) "bta" = ( @@ -33276,6 +33892,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "btl" = ( @@ -33286,6 +33905,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "buy" = ( @@ -33969,6 +34591,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) "byk" = ( @@ -33991,6 +34616,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) "bym" = ( From 71d0804bced74b5f6ecfc79871e88ca2caef555b Mon Sep 17 00:00:00 2001 From: deathride58 Date: Tue, 5 Dec 2017 18:26:41 -0500 Subject: [PATCH 062/134] Update circuitprinter.dm --- code/modules/research/circuitprinter.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index f32b399f09..af342a4a43 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -27,6 +27,8 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). "Computer Parts" ) + var/datum/component/material_container/materials + /obj/machinery/r_n_d/circuit_imprinter/Initialize() materials = AddComponent(/datum/component/material_container, list(MAT_GLASS, MAT_GOLD, MAT_DIAMOND, MAT_METAL, MAT_BLUESPACE), FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) From c56003f6ff1946483cd3325e5f4026cb17aae4b5 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Wed, 6 Dec 2017 01:45:47 +0000 Subject: [PATCH 063/134] Adds support for non-1:1 screen ratios (Doesn't add widescreen) (#32950) * adds support for non-1:1 screen ratios for fullscreen overlays * prevents future copypasta, adds widescreen support to clickcatchers * oops, makes it actually compile * HOPEFULLY makes it actually compile, makes projectiles and mouse_angle_from_client support widescreen * i need shittier shitcode * !!!HOPEFULLY!!! fixes the screen fuckery * Fixes compiling errors. Tested locally, it seems like it works * fixes runtime in mouse_angle_from_client * Fixes non-1:1 TGUI runtimes for borgs and ghosts * adds actual defines for fullscreen overlay resolution * makes varediting view call change_view to make clickcatcher regenerate proper * testmerge toggle widescreen verb and fixes vving view * FUCK - fixes test verb to properly use change_view, so clickcatchers regenerate and such * fixes parallax runtimes - how'd i miss this * removes debug verb --- code/__DEFINES/misc.dm | 4 ++++ code/__HELPERS/maths.dm | 10 ++++++---- code/__HELPERS/view.dm | 12 ++++++++++++ code/_onclick/click.dm | 14 +++++++------- code/_onclick/hud/fullscreen.dm | 4 ++-- code/_onclick/hud/parallax.dm | 10 ++++++---- code/modules/client/client_procs.dm | 6 +++++- code/modules/projectiles/projectile.dm | 8 +++++--- code/modules/tgui/states.dm | 3 ++- code/modules/tgui/states/default.dm | 3 ++- tgstation.dme | 1 + 11 files changed, 52 insertions(+), 23 deletions(-) create mode 100644 code/__HELPERS/view.dm diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 55b29e64a5..f5cb701290 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -490,3 +490,7 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE #define FRIENDLY_SPAWN 2 #define RIDING_OFFSET_ALL "ALL" + +//Fullscreen overlay resolution in tiles. +#define FULLSCREEN_OVERLAY_RESOLUTION_X 15 +#define FULLSCREEN_OVERLAY_RESOLUTION_Y 15 diff --git a/code/__HELPERS/maths.dm b/code/__HELPERS/maths.dm index f1c901ab9a..9b071d0143 100644 --- a/code/__HELPERS/maths.dm +++ b/code/__HELPERS/maths.dm @@ -192,15 +192,17 @@ GLOBAL_LIST_INIT(sqrtTable, list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, /proc/mouse_angle_from_client(client/client) var/list/mouse_control = params2list(client.mouseParams) - if(mouse_control["screen-loc"]) + if(mouse_control["screen-loc"] && client) var/list/screen_loc_params = splittext(mouse_control["screen-loc"], ",") var/list/screen_loc_X = splittext(screen_loc_params[1],":") var/list/screen_loc_Y = splittext(screen_loc_params[2],":") var/x = (text2num(screen_loc_X[1]) * 32 + text2num(screen_loc_X[2]) - 32) var/y = (text2num(screen_loc_Y[1]) * 32 + text2num(screen_loc_Y[2]) - 32) - var/screenview = (client.view * 2 + 1) * world.icon_size //Refer to http://www.byond.com/docs/ref/info.html#/client/var/view for mad maths - var/ox = round(screenview/2) - client.pixel_x //"origin" x - var/oy = round(screenview/2) - client.pixel_y //"origin" y + var/list/screenview = getviewsize(client) + var/screenviewX = screenview[1] * world.icon_size + var/screenviewY = screenview[2] * world.icon_size + var/ox = round(screenviewX/2) - client.pixel_x //"origin" x + var/oy = round(screenviewY/2) - client.pixel_y //"origin" y var/angle = NORM_ROT(Atan2(y - oy, x - ox)) return angle diff --git a/code/__HELPERS/view.dm b/code/__HELPERS/view.dm new file mode 100644 index 0000000000..85819a5ef0 --- /dev/null +++ b/code/__HELPERS/view.dm @@ -0,0 +1,12 @@ +/proc/getviewsize(view) + var/viewX + var/viewY + if(isnum(view)) + var/totalviewrange = 1 + 2 * view + viewX = totalviewrange + viewY = totalviewrange + else + var/list/viewrangelist = splittext(view,"x") + viewX = text2num(viewrangelist[1]) + viewY = text2num(viewrangelist[2]) + return list(viewX, viewY) \ No newline at end of file diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index c9e97726b3..0cc24607f4 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -440,20 +440,20 @@ mouse_opacity = MOUSE_OPACITY_OPAQUE screen_loc = "CENTER" -/obj/screen/click_catcher/proc/UpdateGreed(view_size_x = 7, view_size_y = 7) +/obj/screen/click_catcher/proc/UpdateGreed(view_size_x = 15, view_size_y = 15) var/icon/newicon = icon('icons/mob/screen_gen.dmi', "flash") - if(view_size_x > 16 || view_size_y > 16) - newicon.Scale((16 * 2 + 1) * world.icon_size,(16 * 2 + 1) * world.icon_size) + if(view_size_x > 32 || view_size_y > 32) + newicon.Scale(16 * world.icon_size,16 * world.icon_size) icon = newicon - var/tx = view_size_x/16 - var/ty = view_size_y/16 + var/tx = ((view_size_x - 1)*0.5)/16 + var/ty = ((view_size_y - 1)*0.5)/16 var/matrix/M = new M.Scale(tx, ty) transform = M screen_loc = "CENTER-16,CENTER-16" else - screen_loc = "CENTER-[view_size_x],CENTER-[view_size_y]" - newicon.Scale((view_size_x * 2 + 1) * world.icon_size,(view_size_y * 2 + 1) * world.icon_size) + screen_loc = "CENTER-[(view_size_x-1)*0.5],CENTER-[(view_size_y-1)*0.5]" + newicon.Scale(view_size_x * world.icon_size,view_size_y * world.icon_size) icon = newicon /obj/screen/click_catcher/Click(location, control, params) diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm index 58f0fb18a2..2047225589 100644 --- a/code/_onclick/hud/fullscreen.dm +++ b/code/_onclick/hud/fullscreen.dm @@ -16,9 +16,9 @@ if (client && screen.should_show_to(src)) client.screen += screen if (screen.screen_loc == "CENTER-7,CENTER-7" && screen.view != client.view) - var/scale = (1 + 2 * client.view) / 15 + var/list/actualview = getviewsize(client.view) screen.view = client.view - screen.transform = matrix(scale, 0, 0, 0, scale, 0) + screen.transform = matrix(actualview[1]/FULLSCREEN_OVERLAY_RESOLUTION_X, 0, 0, 0, actualview[2]/FULLSCREEN_OVERLAY_RESOLUTION_Y, 0) return screen diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm index a9971895a7..ff38107bfb 100755 --- a/code/_onclick/hud/parallax.dm +++ b/code/_onclick/hud/parallax.dm @@ -255,11 +255,13 @@ /obj/screen/parallax_layer/proc/update_o(view) if (!view) view = world.view - - var/count = Ceiling(view/(480/world.icon_size))+1 + + var/list/viewscales = getviewsize(view) + var/countx = Ceiling((viewscales[1]/2)/(480/world.icon_size))+1 + var/county = Ceiling((viewscales[2]/2)/(480/world.icon_size))+1 var/list/new_overlays = new - for(var/x in -count to count) - for(var/y in -count to count) + for(var/x in -countx to countx) + for(var/y in -county to county) if(x == 0 && y == 0) continue var/mutable_appearance/texture_overlay = mutable_appearance(icon, icon_state) diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index d9b25939a5..7b9e2ee4e7 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -663,6 +663,9 @@ GLOBAL_LIST(external_rsc_urls) return FALSE if ("key") return FALSE + if("view") + change_view(var_value) + return TRUE . = ..() @@ -683,7 +686,8 @@ GLOBAL_LIST(external_rsc_urls) /client/proc/apply_clickcatcher() generate_clickcatcher() - void.UpdateGreed(view,view) + var/list/actualview = getviewsize(view) + void.UpdateGreed(actualview[1],actualview[2]) /client/proc/AnnouncePR(announcement) if(prefs && prefs.chat_toggles & CHAT_PULLR) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index a01db82752..9ae82d441d 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -396,10 +396,12 @@ var/y = text2num(screen_loc_Y[1]) * 32 + text2num(screen_loc_Y[2]) - 32 //Calculate the "resolution" of screen based on client's view and world's icon size. This will work if the user can view more tiles than average. - var/screenview = (user.client.view * 2 + 1) * world.icon_size //Refer to http://www.byond.com/docs/ref/info.html#/client/var/view for mad maths + var/list/screenview = getviewsize(user.client.view) + var/screenviewX = screenview[1] * world.icon_size + var/screenviewY = screenview[2] * world.icon_size - var/ox = round(screenview/2) - user.client.pixel_x //"origin" x - var/oy = round(screenview/2) - user.client.pixel_y //"origin" y + var/ox = round(screenviewX/2) - user.client.pixel_x //"origin" x + var/oy = round(screenviewY/2) - user.client.pixel_y //"origin" y angle = Atan2(y - oy, x - ox) return list(angle, p_x, p_y) diff --git a/code/modules/tgui/states.dm b/code/modules/tgui/states.dm index c3e7d9b0c9..831f829154 100644 --- a/code/modules/tgui/states.dm +++ b/code/modules/tgui/states.dm @@ -26,7 +26,8 @@ . = max(., UI_INTERACTIVE) // Regular ghosts can always at least view if in range. - if(get_dist(src_object, user) < user.client.view) + var/clientviewlist = getviewsize(user.client.view) + if(get_dist(src_object, user) < max(clientviewlist[1],clientviewlist[2])) . = max(., UI_UPDATE) // Check if the state allows interaction diff --git a/code/modules/tgui/states/default.dm b/code/modules/tgui/states/default.dm index 3ae48c7bc7..e61f61bc4a 100644 --- a/code/modules/tgui/states/default.dm +++ b/code/modules/tgui/states/default.dm @@ -33,7 +33,8 @@ GLOBAL_DATUM_INIT(default_state, /datum/ui_state/default, new) return // Robots can interact with anything they can see. - if(get_dist(src, src_object) <= client.view) + var/list/clientviewlist = getviewsize(client.view) + if(get_dist(src, src_object) <= min(clientviewlist[1],clientviewlist[2])) return UI_INTERACTIVE return UI_DISABLED // Otherwise they can keep the UI open. diff --git a/tgstation.dme b/tgstation.dme index d8094b1744..e8b81cbbb8 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -116,6 +116,7 @@ #include "code\__HELPERS\type2type.dm" #include "code\__HELPERS\type2type_vr.dm" #include "code\__HELPERS\unsorted.dm" +#include "code\__HELPERS\view.dm" #include "code\__HELPERS\sorts\__main.dm" #include "code\__HELPERS\sorts\InsertSort.dm" #include "code\__HELPERS\sorts\MergeSort.dm" From 0f853fd7443e1b2b553017a22cd87cd4f9f10a8e Mon Sep 17 00:00:00 2001 From: deathride58 Date: Tue, 5 Dec 2017 21:03:21 -0500 Subject: [PATCH 065/134] Update circuitprinter.dm --- code/modules/research/circuitprinter.dm | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index af342a4a43..2e8c47231d 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -78,21 +78,3 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). /obj/machinery/r_n_d/circuit_imprinter/disconnect_console() linked_console.linked_imprinter = null ..() - -/obj/machinery/r_n_d/circuit_imprinter/ComponentActivated(datum/component/C) - ..() - if(istype(C, /datum/component/material_container)) - var/datum/component/material_container/M = C - if(!M.last_insert_success) - return - var/lit = M.last_inserted_type - var/stack_name - if(ispath(lit, /obj/item/ore/bluespace_crystal)) - stack_name = "bluespace" - use_power(MINERAL_MATERIAL_AMOUNT / 10) - else - var/obj/item/stack/S = lit - stack_name = initial(S.name) - use_power(max(1000, (MINERAL_MATERIAL_AMOUNT * M.last_amount_inserted / 10))) - add_overlay("protolathe_[stack_name]") - addtimer(CALLBACK(src, /atom/proc/cut_overlay, "protolathe_[stack_name]"), 10) From 989102f552e6eeca582a00db9be4b02a31a8fd23 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Tue, 5 Dec 2017 21:04:00 -0500 Subject: [PATCH 066/134] Update protolathe.dm --- code/modules/research/protolathe.dm | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index 2bbd439d65..a675f1e550 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -77,21 +77,3 @@ Note: Must be placed west/left of and R&D console to function. /obj/machinery/r_n_d/protolathe/disconnect_console() linked_console.linked_lathe = null ..() - -/obj/machinery/r_n_d/protolathe/ComponentActivated(datum/component/C) - ..() - if(istype(C, /datum/component/material_container)) - var/datum/component/material_container/M = C - if(!M.last_insert_success) - return - var/lit = M.last_inserted_type - var/stack_name - if(ispath(lit, /obj/item/ore/bluespace_crystal)) - stack_name = "bluespace" - use_power(MINERAL_MATERIAL_AMOUNT / 10) - else - var/obj/item/stack/S = lit - stack_name = initial(S.name) - use_power(max(1000, (MINERAL_MATERIAL_AMOUNT * M.last_amount_inserted / 10))) - add_overlay("protolathe_[stack_name]") - addtimer(CALLBACK(src, /atom/proc/cut_overlay, "protolathe_[stack_name]"), 10) From f37df9f0b53d514d64cbacb52f39de75767205c8 Mon Sep 17 00:00:00 2001 From: Trevor Serpas Date: Wed, 6 Dec 2017 06:18:48 -0600 Subject: [PATCH 067/134] Ghost defile removes salt piles (#33294) Fixes #33291 --- code/game/gamemodes/miniantags/revenant/revenant_abilities.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm index c7a09bb387..c401dfea52 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm @@ -254,6 +254,9 @@ if(T.type == /turf/closed/wall/r_wall && prob(10)) new /obj/effect/temp_visual/revenant(T) T.ChangeTurf(/turf/closed/wall/r_wall/rust) + for(var/obj/effect/decal/cleanable/salt/salt in T) + new /obj/effect/temp_visual/revenant(T) + qdel(salt) for(var/obj/structure/closet/closet in T.contents) closet.open() for(var/obj/structure/bodycontainer/corpseholder in T) From 4b6660814a928713dc5cead178ba048f538f7622 Mon Sep 17 00:00:00 2001 From: Dax Dupont Date: Wed, 6 Dec 2017 13:20:06 +0100 Subject: [PATCH 069/134] Makes sillicon chat more visible (#33222) Made it green on black Forgot to remove it at the bold thingy --- code/modules/goonchat/browserassets/css/browserOutput.css | 3 +++ code/modules/mob/living/silicon/say.dm | 4 ++-- interface/stylesheet.dm | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/code/modules/goonchat/browserassets/css/browserOutput.css b/code/modules/goonchat/browserassets/css/browserOutput.css index 153444c0ed..4d31d082c6 100644 --- a/code/modules/goonchat/browserassets/css/browserOutput.css +++ b/code/modules/goonchat/browserassets/css/browserOutput.css @@ -253,6 +253,9 @@ em {font-style: normal; font-weight: bold;} .say {} .deadsay {color: #5c00e6;} +.binarysay {color: #20c20e; background-color: #000000; display: block;} +.binarysay a {color: #00ff00;} +.binarysay a:active, .binarysay a:visited {color: #88ff88;} .radio {color: #008000;} .sciradio {color: #993399;} .comradio {color: #948f02;} diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm index f10ac43858..77ce3fc18f 100644 --- a/code/modules/mob/living/silicon/say.dm +++ b/code/modules/mob/living/silicon/say.dm @@ -10,11 +10,11 @@ var/mob/living/silicon/S = src desig = trim_left(S.designation + " " + S.job) var/message_a = say_quote(message, get_spans()) - var/rendered = "Robotic Talk, [name] [message_a]" + var/rendered = "Robotic Talk, [name] [message_a]" for(var/mob/M in GLOB.player_list) if(M.binarycheck()) if(isAI(M)) - var/renderedAI = "Robotic Talk, [name] ([desig]) [message_a]" + var/renderedAI = "Robotic Talk, [name] ([desig]) [message_a]" to_chat(M, renderedAI) else to_chat(M, rendered) diff --git a/interface/stylesheet.dm b/interface/stylesheet.dm index 7ad30fb7b5..b4085fcd0d 100644 --- a/interface/stylesheet.dm +++ b/interface/stylesheet.dm @@ -36,6 +36,9 @@ em {font-style: normal; font-weight: bold;} .say {} .deadsay {color: #5c00e6;} +.binarysay {color: #20c20e; background-color: #000000; display: block;} +.binarysay a {color: #00ff00;} +.binarysay a:active, .binarysay a:visited {color: #88ff88;} .radio {color: #008000;} .sciradio {color: #993399;} .comradio {color: #948f02;} From 45b9b4956c505dd110478ed0181f28ff0a109c1c Mon Sep 17 00:00:00 2001 From: Armhulen Date: Wed, 6 Dec 2017 04:32:39 -0800 Subject: [PATCH 071/134] Fugu improvements (#33182) * come on, you know i wumbo you wumbo he she me wumbo * it's hip to wumbo --- .../simple_animal/hostile/wumborian_fugu.dm | 81 +++++++++++------- icons/mob/actions/actions_animal.dmi | Bin 3715 -> 4405 bytes icons/mob/lavaland/64x64megafauna.dmi | Bin 45164 -> 49152 bytes icons/mob/lavaland/lavaland_monsters.dmi | Bin 131800 -> 128391 bytes 4 files changed, 48 insertions(+), 33 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm index 97dd430a12..29e4d66424 100644 --- a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm +++ b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm @@ -2,10 +2,10 @@ /mob/living/simple_animal/hostile/asteroid/fugu name = "wumborian fugu" desc = "The wumborian fugu rapidly increases its body mass in order to ward off its prey. Great care should be taken to avoid it while it's in this state as it is nearly invincible, but it cannot maintain its form forever." - icon = 'icons/mob/lavaland/lavaland_monsters.dmi' - icon_state = "Fugu" - icon_living = "Fugu" - icon_aggro = "Fugu" + icon = 'icons/mob/lavaland/64x64megafauna.dmi' + icon_state = "Fugu0" + icon_living = "Fugu0" + icon_aggro = "Fugu0" icon_dead = "Fugu_dead" icon_gib = "syndicate_gib" mouse_opacity = MOUSE_OPACITY_OPAQUE @@ -16,6 +16,7 @@ speed = 0 maxHealth = 50 health = 50 + pixel_x = -16 harm_intent_damage = 5 obj_damage = 0 melee_damage_lower = 0 @@ -30,13 +31,23 @@ gold_core_spawnable = HOSTILE_SPAWN var/wumbo = 0 var/inflate_cooldown = 0 + var/datum/action/innate/fugu/expand/E loot = list(/obj/item/asteroid/fugu_gland{layer = ABOVE_MOB_LAYER}) +/mob/living/simple_animal/hostile/asteroid/fugu/Initialize() + . = ..() + E = new + E.Grant(src) + +/mob/living/simple_animal/hostile/asteroid/fugu/Destroy() + QDEL_NULL(E) + return ..() + /mob/living/simple_animal/hostile/asteroid/fugu/Life() if(!wumbo) inflate_cooldown = max((inflate_cooldown - 1), 0) if(target && AIStatus == AI_ON) - Inflate() + E.Activate() ..() /mob/living/simple_animal/hostile/asteroid/fugu/adjustHealth(amount, updating_health = TRUE, forced = FALSE) @@ -46,42 +57,47 @@ /mob/living/simple_animal/hostile/asteroid/fugu/Aggro() ..() - Inflate() + E.Activate() -/mob/living/simple_animal/hostile/asteroid/fugu/verb/Inflate() - set name = "Inflate" - set category = "Fugu" - set desc = "Temporarily increases your size, and makes you significantly more dangerous and tough." - if(wumbo) - to_chat(src, "You're already inflated.") +/datum/action/innate/fugu + icon_icon = 'icons/mob/actions/actions_animal.dmi' + +/datum/action/innate/fugu/expand + name = "Inflate" + desc = "Temporarily increases your size, and makes you significantly more dangerous and tough! Do not bully the fugu!" + button_icon_state = "expand" + +/datum/action/innate/fugu/expand/Activate() + var/mob/living/simple_animal/hostile/asteroid/fugu/F = owner + if(F.wumbo) + to_chat(F, "YOU'RE ALREADY WUMBO!") return - if(inflate_cooldown) - to_chat(src, "We need time to gather our strength.") + if(F.inflate_cooldown) + to_chat(F, "You need time to gather your strength.") return - if(buffed) - to_chat(src, "Something is interfering with our growth.") + if(F.buffed) + to_chat(F, "Something is interfering with your growth.") return - wumbo = 1 - icon_state = "Fugu_big" - obj_damage = 60 - melee_damage_lower = 15 - melee_damage_upper = 20 - harm_intent_damage = 0 - throw_message = "is absorbed by the girth of the" - retreat_distance = null - minimum_distance = 1 - move_to_delay = 6 - transform *= 2 - environment_smash = ENVIRONMENT_SMASH_WALLS - mob_size = MOB_SIZE_LARGE - speed = 1 - addtimer(CALLBACK(src, .proc/Deflate), 100) + F.wumbo = 1 + F.icon_state = "Fugu1" + F.obj_damage = 60 + F.melee_damage_lower = 15 + F.melee_damage_upper = 20 + F.harm_intent_damage = 0 + F.throw_message = "is absorbed by the girth of the" + F.retreat_distance = null + F.minimum_distance = 1 + F.move_to_delay = 6 + F.environment_smash = ENVIRONMENT_SMASH_WALLS + F.mob_size = MOB_SIZE_LARGE + F.speed = 1 + addtimer(CALLBACK(F, /mob/living/simple_animal/hostile/asteroid/fugu/proc/Deflate), 100) /mob/living/simple_animal/hostile/asteroid/fugu/proc/Deflate() if(wumbo) walk(src, 0) wumbo = 0 - icon_state = "Fugu" + icon_state = "Fugu0" obj_damage = 0 melee_damage_lower = 0 melee_damage_upper = 0 @@ -90,7 +106,6 @@ retreat_distance = 9 minimum_distance = 9 move_to_delay = 2 - transform /= 2 inflate_cooldown = 4 environment_smash = ENVIRONMENT_SMASH_NONE mob_size = MOB_SIZE_SMALL diff --git a/icons/mob/actions/actions_animal.dmi b/icons/mob/actions/actions_animal.dmi index 1dcf7590cd0fabdb06af0c2c6c488bce9fc6f0cb..aefa471dd2389bf1ebd9d746f137b504ef4fa5a9 100644 GIT binary patch literal 4405 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 literal 3715 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 QQzc-icU!ko+a>P*0J=i=h5!Hn diff --git a/icons/mob/lavaland/64x64megafauna.dmi b/icons/mob/lavaland/64x64megafauna.dmi index 7cc2b92a1783ea7bc8f9d0c43d9ac97e3599c32c..64304fdcd1f9462a23e266cdc229b6e1c13859cf 100644 GIT binary patch literal 49152 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 literal 45164 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%0AS6!c!2* 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 Cjg^-G diff --git a/icons/mob/lavaland/lavaland_monsters.dmi b/icons/mob/lavaland/lavaland_monsters.dmi index f072421196dc556a0956a208fa32b0744fb27e3f..fd93db24aa25626884451db76774677ea3209dd6 100644 GIT binary patch delta 88148 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

+EM>_-;GqJF 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 GHuQf7y0rTM From 77ce850dca02ed65274121f168d7918ae32b09c1 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 6 Dec 2017 11:50:50 -0600 Subject: [PATCH 073/134] Automatic changelog generation for PR #4243 [ci skip] --- html/changelogs/AutoChangeLog-pr-4243.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4243.yml diff --git a/html/changelogs/AutoChangeLog-pr-4243.yml b/html/changelogs/AutoChangeLog-pr-4243.yml new file mode 100644 index 0000000000..4971528f94 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4243.yml @@ -0,0 +1,4 @@ +author: "Revenant Defile ability" +delete-after: True +changes: + - bugfix: "Revenant's Defile now removes salt piles" From 041e47841c55d10e8ea80eb57e2e5850995f6534 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 6 Dec 2017 11:51:20 -0600 Subject: [PATCH 074/134] Automatic changelog generation for PR #4244 [ci skip] --- html/changelogs/AutoChangeLog-pr-4244.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4244.yml diff --git a/html/changelogs/AutoChangeLog-pr-4244.yml b/html/changelogs/AutoChangeLog-pr-4244.yml new file mode 100644 index 0000000000..d1081a8801 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4244.yml @@ -0,0 +1,4 @@ +author: "Dax Dupont & Alek2ander" +delete-after: True +changes: + - tweak: "Binary chat messages been made more visible." From dc2d191eba6ec436d95f8bff26297da40c1e2caa Mon Sep 17 00:00:00 2001 From: oranges Date: Thu, 7 Dec 2017 11:19:24 +1300 Subject: [PATCH 075/134] Merge pull request #33332 from AnturK/lightfix Fixes light breaking --- code/modules/power/lighting.dm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 920d2f5b52..68751174ca 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -284,7 +284,6 @@ return ..() /obj/machinery/light/update_icon() - switch(status) // set icon_states if(LIGHT_OK) if(emergency_mode) @@ -293,18 +292,17 @@ icon_state = "[base_state][on]" if(LIGHT_EMPTY) icon_state = "[base_state]-empty" - on = FALSE if(LIGHT_BURNED) icon_state = "[base_state]-burned" - on = FALSE if(LIGHT_BROKEN) icon_state = "[base_state]-broken" - on = FALSE return // update the icon_state and luminosity of the light depending on its state /obj/machinery/light/proc/update(trigger = 1) - + switch(status) + if(LIGHT_BROKEN,LIGHT_BURNED,LIGHT_EMPTY) + on = FALSE emergency_mode = FALSE if(on) if(!light || light.light_range != brightness) @@ -678,7 +676,7 @@ force = 2 throwforce = 5 w_class = WEIGHT_CLASS_TINY - var/status = 0 // LIGHT_OK, LIGHT_BURNED or LIGHT_BROKEN + var/status = LIGHT_OK // LIGHT_OK, LIGHT_BURNED or LIGHT_BROKEN var/base_state var/switchcount = 0 // number of times switched materials = list(MAT_GLASS=100) @@ -761,7 +759,7 @@ /obj/item/light/proc/shatter() if(status == LIGHT_OK || status == LIGHT_BURNED) - src.visible_message("[name] shatters.","You hear a small glass object shatter.") + visible_message("[name] shatters.","You hear a small glass object shatter.") status = LIGHT_BROKEN force = 5 playsound(src.loc, 'sound/effects/glasshit.ogg', 75, 1) From 193879529c2596c7db3a5512d3bfefcbcd5661fa Mon Sep 17 00:00:00 2001 From: oranges Date: Thu, 7 Dec 2017 11:25:51 +1300 Subject: [PATCH 077/134] Merge pull request #33308 from tgstation/Cyberboss-patch-3 Fixes every config flag updating world.sleep_offline --- code/controllers/configuration/entries/config.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/controllers/configuration/entries/config.dm b/code/controllers/configuration/entries/config.dm index d7dc0ff84d..165f1a69ab 100644 --- a/code/controllers/configuration/entries/config.dm +++ b/code/controllers/configuration/entries/config.dm @@ -377,7 +377,7 @@ CONFIG_TWEAK(number/mc_tick_rate/ValidateAndSet(str_val)) CONFIG_DEF(flag/resume_after_initializations) -CONFIG_TWEAK(flag/ValidateAndSet(str_val)) +CONFIG_TWEAK(flag/resume_after_initializations/ValidateAndSet(str_val)) . = ..() if(. && Master.current_runlevel) world.sleep_offline = !value From 8f71b88a87f4a95b8aaa27de813807c779f5ca03 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Wed, 6 Dec 2017 23:48:15 -0500 Subject: [PATCH 079/134] Merge pull request #33318 from AutomaticFrenzy/patch/vendor Fix vending machines nullspacing every item on init --- code/game/machinery/vending.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index ec6a53f308..e889a5d96f 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -138,7 +138,7 @@ if(isnull(amount)) amount = 0 - var/atom/temp = new typepath(null) + var/atom/temp = typepath var/datum/data/vending_product/R = new /datum/data/vending_product() R.product_name = initial(temp.name) R.product_path = typepath From 28c47057500a09ae1c4154e5588f7451eba15377 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Wed, 6 Dec 2017 23:50:49 -0500 Subject: [PATCH 081/134] Merge pull request #33312 from ninjanomnom/oldturf old turf in afterShuttleMove --- code/modules/shuttle/on_move.dm | 34 ++++++++++++++++----------------- code/modules/shuttle/shuttle.dm | 5 +++-- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index 51c62029e0..15f0dbb011 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -92,7 +92,7 @@ All ShuttleMove procs go here return TRUE // Called on atoms after everything has been moved -/atom/movable/proc/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) +/atom/movable/proc/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) if(light) update_light() if(rotation) @@ -148,7 +148,7 @@ All ShuttleMove procs go here A.air_tight = TRUE INVOKE_ASYNC(A, /obj/machinery/door/.proc/close) -/obj/machinery/door/airlock/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) +/obj/machinery/door/airlock/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() shuttledocked = 1 for(var/obj/machinery/door/airlock/A in range(1, src)) @@ -160,24 +160,24 @@ All ShuttleMove procs go here . |= MOVE_CONTENTS GLOB.cameranet.removeCamera(src) -/obj/machinery/camera/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) +/obj/machinery/camera/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() GLOB.cameranet.addCamera(src) -/obj/machinery/telecomms/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) +/obj/machinery/telecomms/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() listening_level = z // Update listening Z, just in case you have telecomm relay on a shuttle -/obj/machinery/mech_bay_recharge_port/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) +/obj/machinery/mech_bay_recharge_port/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) . = ..() recharging_turf = get_step(loc, dir) -/obj/machinery/atmospherics/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) +/obj/machinery/atmospherics/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() if(pipe_vision_img) pipe_vision_img.loc = loc -/obj/machinery/computer/auxillary_base/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) +/obj/machinery/computer/auxillary_base/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() if(z == ZLEVEL_MINING) //Avoids double logging and landing on other Z-levels due to badminnery SSblackbox.record_feedback("associative", "colonies_dropped", 1, list("x" = x, "y" = y, "z" = z)) @@ -187,7 +187,7 @@ All ShuttleMove procs go here on = FALSE update_list() -/obj/machinery/gravity_generator/main/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) +/obj/machinery/gravity_generator/main/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() if(charge_count != 0 && charging_state != POWER_UP) on = TRUE @@ -198,7 +198,7 @@ All ShuttleMove procs go here if(. & MOVE_AREA) . |= MOVE_CONTENTS -/obj/machinery/atmospherics/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) +/obj/machinery/atmospherics/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() var/missing_nodes = FALSE for(DEVICE_TYPE_LOOP) @@ -227,7 +227,7 @@ All ShuttleMove procs go here // atmosinit() calls update_icon(), so we don't need to call it update_icon() -/obj/machinery/atmospherics/pipe/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) +/obj/machinery/atmospherics/pipe/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() var/turf/T = loc hide(T.intact) @@ -237,7 +237,7 @@ All ShuttleMove procs go here GLOB.navbeacons["[z]"] -= src GLOB.deliverybeacons -= src -/obj/machinery/navbeacon/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) +/obj/machinery/navbeacon/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() var/turf/T = loc hide(T.intact) @@ -249,7 +249,7 @@ All ShuttleMove procs go here GLOB.deliverybeacons += src GLOB.deliverybeacontags += location -/obj/machinery/power/terminal/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) +/obj/machinery/power/terminal/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() var/turf/T = src.loc if(level==1) @@ -257,7 +257,7 @@ All ShuttleMove procs go here /************************************Item move procs************************************/ -/obj/item/storage/pod/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) +/obj/item/storage/pod/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() unlocked = TRUE // If the pod was launched, the storage will always open. @@ -269,7 +269,7 @@ All ShuttleMove procs go here return . = ..() -/mob/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) +/mob/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) if(!move_on_shuttle) return . = ..() @@ -279,7 +279,7 @@ All ShuttleMove procs go here shake_force *= 0.25 shake_camera(src, shake_force, 1) -/mob/living/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) +/mob/living/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() if(movement_force && !buckled) if(movement_force["THROW"]) @@ -307,11 +307,11 @@ All ShuttleMove procs go here if(. & MOVE_AREA) . |= MOVE_CONTENTS -/obj/structure/disposalpipe/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) +/obj/structure/disposalpipe/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() update() -/obj/structure/cable/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) +/obj/structure/cable/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() var/turf/T = loc if(level==1) diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 2f0fb711bd..79d662c8e4 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -631,7 +631,7 @@ if(moving_atom.loc != oldT) //fix for multi-tile objects continue moving_atom.onShuttleMove(newT, oldT, movement_force, movement_direction, old_dock, src) //atoms - moved_atoms += moving_atom + moved_atoms[moving_atom] = oldT if(move_mode & MOVE_TURF) oldT.onShuttleMove(newT, movement_force, movement_direction) //turfs @@ -665,7 +665,8 @@ for(var/i in 1 to moved_atoms.len) CHECK_TICK var/atom/movable/moved_object = moved_atoms[i] - moved_object.afterShuttleMove(movement_force, dir, preferred_direction, movement_direction, rotation)//atoms + var/turf/oldT = moved_atoms[moved_object] + moved_object.afterShuttleMove(oldT, movement_force, dir, preferred_direction, movement_direction, rotation)//atoms for(var/i in 1 to old_turfs.len) CHECK_TICK From eed4feb5a212cf987cf7fa230700a9461e404478 Mon Sep 17 00:00:00 2001 From: ACCount Date: Fri, 8 Dec 2017 18:34:14 +0300 Subject: [PATCH 083/134] New IC manipulator sprites (#33360) --- .../obj/assemblies/electronic_components.dmi | Bin 21210 -> 21381 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/assemblies/electronic_components.dmi b/icons/obj/assemblies/electronic_components.dmi index cdfa386233450202f7bf61db8c8c29cfbf80bb14..cc0367b682fad3367eca4d817488780b78d48409 100644 GIT binary patch literal 21381 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 literal 21210 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 N*jhPQ)>z<^{sZq2DeV9N From e1fece081f1a84cceacd616fa3c5ff9592529ec2 Mon Sep 17 00:00:00 2001 From: AnturK Date: Fri, 8 Dec 2017 16:32:56 +0100 Subject: [PATCH 085/134] Limit bullet overlays on walls (#33364) * Limit bullet overlays on walls * Whitespace bad * Okay * Touching this because I'm testing TGS3 stuff * Update walls.dm --- code/game/turfs/simulated/walls.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 6d8db55ad8..337bb051a8 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -1,3 +1,5 @@ +#define MAX_DENT_DECALS 15 + /turf/closed/wall name = "wall" desc = "A huge chunk of metal used to separate rooms." @@ -297,6 +299,9 @@ return FALSE /turf/closed/wall/proc/add_dent(denttype, x=rand(-8, 8), y=rand(-8, 8)) + if(LAZYLEN(dent_decals) >= MAX_DENT_DECALS) + return + var/mutable_appearance/decal = pick(dent_decal_list[denttype]) decal.pixel_x = x decal.pixel_y = y @@ -304,3 +309,5 @@ cut_overlay(dent_decals) LAZYADD(dent_decals, decal) add_overlay(dent_decals) + +#undef MAX_DENT_DECALS From c5a61bbca594adbe5d9eda95197574c1bc85f737 Mon Sep 17 00:00:00 2001 From: oranges Date: Fri, 8 Dec 2017 22:37:44 +1300 Subject: [PATCH 087/134] Merge pull request #33350 from Cyberboss/FixConfig panic_address -> panic_server_address --- code/controllers/configuration/entries/config.dm | 4 ++-- code/modules/client/client_procs.dm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/controllers/configuration/entries/config.dm b/code/controllers/configuration/entries/config.dm index 165f1a69ab..7d6038cd43 100644 --- a/code/controllers/configuration/entries/config.dm +++ b/code/controllers/configuration/entries/config.dm @@ -208,9 +208,9 @@ CONFIG_DEF(string/panic_server_name) /datum/config_entry/string/panic_server_name/ValidateAndSet(str_val) return str_val != "\[Put the name here\]" && ..() -CONFIG_DEF(string/panic_address) //Reconnect a player this linked server if this server isn't accepting new players +CONFIG_DEF(string/panic_server_address) //Reconnect a player this linked server if this server isn't accepting new players -/datum/config_entry/string/panic_address/ValidateAndSet(str_val) +/datum/config_entry/string/panic_server_address/ValidateAndSet(str_val) return str_val != "byond://address:port" && ..() CONFIG_DEF(string/invoke_youtubedl) diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 7b9e2ee4e7..43ae694b84 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -442,7 +442,7 @@ GLOBAL_LIST(external_rsc_urls) message_admins("Failed Login: [key] - New account attempting to connect during panic bunker") to_chat(src, "Sorry but the server is currently not accepting connections from never before seen players.") var/list/connectiontopic_a = params2list(connectiontopic) - var/list/panic_addr = CONFIG_GET(string/panic_address) + var/list/panic_addr = CONFIG_GET(string/panic_server_address) if(panic_addr && !connectiontopic_a["redirect"]) var/panic_name = CONFIG_GET(string/panic_server_name) to_chat(src, "Sending you to [panic_name ? panic_name : panic_addr].") From 315e1d718a4793d86b65b8e04296cb3c377ef880 Mon Sep 17 00:00:00 2001 From: Ashe Higgs Date: Fri, 8 Dec 2017 04:28:56 -0500 Subject: [PATCH 089/134] Adds pet carriers --- code/game/objects/items/pet_carrier.dm | 194 ++++++++++++++++++ .../crates_lockers/closets/secure/medical.dm | 5 + .../crates_lockers/closets/secure/security.dm | 2 + .../research/designs/autolathe_designs.dm | 7 + icons/mob/inhands/items_lefthand.dmi | Bin 17274 -> 17760 bytes icons/mob/inhands/items_righthand.dmi | Bin 19028 -> 19507 bytes icons/obj/pet_carrier.dmi | Bin 0 -> 2034 bytes tgstation.dme | 1 + 8 files changed, 209 insertions(+) create mode 100644 code/game/objects/items/pet_carrier.dm create mode 100644 icons/obj/pet_carrier.dmi diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm new file mode 100644 index 0000000000..dfec9ca2b8 --- /dev/null +++ b/code/game/objects/items/pet_carrier.dm @@ -0,0 +1,194 @@ +#define pet_carrier_full(carrier) carrier.occupants.len >= carrier.max_occupants || carrier.occupant_weight >= carrier.max_occupant_weight + +//Used to transport little animals without having to drag them across the station. +//Comes with a handy lock to prevent them from running off. +/obj/item/pet_carrier + name = "pet carrier" + desc = "A big white-and-blue pet carrier. Good for carrying meat to the chef cute animals around." + icon = 'icons/obj/pet_carrier.dmi' + icon_state = "pet_carrier_open" + item_state = "pet_carrier" + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' + force = 5 + attack_verb = list("bashed", "carried") + w_class = WEIGHT_CLASS_BULKY + throw_speed = 2 + throw_range = 3 + materials = list(MAT_METAL = 7500, MAT_GLASS = 100) + var/open = TRUE + var/locked = FALSE + var/list/occupants = list() + var/occupant_weight = 0 + var/max_occupants = 3 //Hard-cap so you can't have infinite mice or something in one carrier + var/max_occupant_weight = MOB_SIZE_SMALL //This is calculated from the mob sizes of occupants + +/obj/item/pet_carrier/Destroy() + if(occupants.len) + for(var/V in occupants) + remove_occupant(V) + return ..() + +/obj/item/pet_carrier/Exited(atom/movable/occupant) + if(occupant in occupants && isliving(occupant)) + var/mob/living/L = occupant + occupants -= occupant + occupant_weight -= L.mob_size + +/obj/item/pet_carrier/handle_atom_del(atom/A) + if(A in occupants && isliving(A)) + var/mob/living/L = A + occupants -= L + occupant_weight -= L.mob_size + ..() + +/obj/item/pet_carrier/examine(mob/user) + ..() + if(occupants.len) + for(var/V in occupants) + var/mob/living/L = V + to_chat(user, "It has [L] inside.") + else + to_chat(user, "It has nothing inside.") + if(user.canUseTopic(src)) + to_chat(user, "Activate it in your hand to [open ? "close" : "open"] its door.") + if(!open) + to_chat(user, "Alt-click to [locked ? "unlock" : "lock"] its door.") + +/obj/item/pet_carrier/attack_self(mob/living/user) + if(open) + to_chat(user, "You close [src]'s door.") + playsound(user, 'sound/effects/bin_close.ogg', 50, TRUE) + open = FALSE + else + if(locked) + to_chat(user, "[src] is locked!") + return + to_chat(user, "You open [src]'s door.") + playsound(user, 'sound/effects/bin_open.ogg', 50, TRUE) + open = TRUE + update_icon() + +/obj/item/pet_carrier/AltClick(mob/living/user) + if(open) + return + locked = !locked + to_chat(user, "You flip the lock switch [locked ? "down" : "up"].") + if(locked) + playsound(user, 'sound/machines/boltsdown.ogg', 30, TRUE) + else + playsound(user, 'sound/machines/boltsup.ogg', 30, TRUE) + update_icon() + +/obj/item/pet_carrier/attack(mob/living/target, mob/living/user) + if(user.a_intent == INTENT_HARM) + return ..() + if(!open) + to_chat(user, "You need to open [src]'s door!") + return + if(target.mob_size > max_occupant_weight) + if(ishuman(target)) + var/mob/living/carbon/human/H = target + if(iscatperson(H)) + to_chat(user, "You'd need a lot of catnip and treats, plus maybe a laser pointer, for that to work.") + else + to_chat(user, "Humans, generally, do not fit into pet carriers.") + else + to_chat(user, "You get the feeling [target] isn't meant for a [name].") + return + if(user == target) + to_chat(user, "Why would you ever do that?") + return + load_occupant(user, target) + +/obj/item/pet_carrier/relaymove(mob/living/user, direction) + if(open) + loc.visible_message("[user] climbs out of [src]!", \ + "[user] jumps out of [src]!") + remove_occupant(user) + return + else if(!locked) + loc.visible_message("[user] pushes open the door to [src]!", \ + "[user] pushes open the door of [src]!") + open = TRUE + update_icon() + return + else if(user.client) + container_resist(user) + +/obj/item/pet_carrier/container_resist(mob/living/user) + user.changeNext_move(CLICK_CD_BREAKOUT) + user.last_special = world.time + CLICK_CD_BREAKOUT + if(user.mob_size <= MOB_SIZE_SMALL) + to_chat(user, "You poke a limb through [src]'s bars and start fumbling for the lock switch... (This will take some time.)") + to_chat(loc, "You see [user] reach through the bars and fumble for the lock switch!") + if(!do_after(user, rand(300, 400), target = user) || open || !locked || !user in occupants) + return + loc.visible_message("[user] flips the lock switch on [src] by reaching through!", ignored_mob = user) + to_chat(user, "Bingo! The lock pops open!") + locked = FALSE + playsound(src, 'sound/machines/boltsup.ogg', 30, TRUE) + update_icon() + else + loc.visible_message("[src] starts rattling as something pushes against the door!", ignored_mob = user) + to_chat(user, "You start pushing out of [src]... (This will take about 20 seconds.)") + if(!do_after(user, 200, target = user) || open || !locked || !user in occupants) + return + loc.visible_message("[user] shoves out of [src]!", ignored_mob = user) + to_chat(user, "You shove open [src]'s door against the lock's resistance and fall out!") + locked = FALSE + open = TRUE + update_icon() + remove_occupant(user) + +/obj/item/pet_carrier/update_icon() + cut_overlay("unlocked") + cut_overlay("locked") + if(open) + icon_state = initial(icon_state) + else + icon_state = "pet_carrier_[!occupants.len ? "closed" : "occupied"]" + add_overlay("[locked ? "" : "un"]locked") + +/obj/item/pet_carrier/MouseDrop(atom/over_atom) + if(isopenturf(over_atom) && usr.Adjacent(over_atom) && open && occupants.len) + usr.visible_message("[usr] unloads [src].", \ + "You unload [src] onto [over_atom].") + for(var/V in occupants) + remove_occupant(V, over_atom) + +/obj/item/pet_carrier/proc/load_occupant(mob/living/user, mob/living/target) + if(pet_carrier_full(src)) + to_chat(user, "[src] is already carrying too much!") + return + user.visible_message("[user] starts loading [target] into [src].", \ + "You start loading [target] into [src]...", ignored_mob = target) + to_chat(target, "[user] starts loading you into their [name]!") + if(!do_mob(user, target, 30)) + return + if(target in occupants) + return + if(pet_carrier_full(src)) //Run the checks again, just in case + to_chat(user, "[src] is already carrying too much!") + return + user.visible_message("[user] loads [target] into [src]!", \ + "You load [target] into [src].", ignored_mob = target) + to_chat(target, "[user] loads you into their [name]!") + add_occupant(target) + +/obj/item/pet_carrier/proc/add_occupant(mob/living/occupant) + if(occupant in occupants || !istype(occupant)) + return + occupant.forceMove(src) + occupants += occupant + occupant_weight += occupant.mob_size + +/obj/item/pet_carrier/proc/remove_occupant(mob/living/occupant, turf/new_turf) + if(!occupant in occupants || !istype(occupant)) + return + occupant.forceMove(new_turf ? new_turf : drop_location()) + occupants -= occupant + occupant_weight -= occupant.mob_size + occupant.setDir(SOUTH) + +#undef pet_carrier_full diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 0351fdc596..dfd9ac8153 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -73,6 +73,11 @@ new /obj/item/device/autosurgeon/cmo(src) new /obj/item/door_remote/chief_medical_officer(src) new /obj/item/clothing/neck/petcollar(src) +<<<<<<< HEAD +======= + new /obj/item/pet_carrier(src) + new /obj/item/circuitboard/machine/protolathe/department/medical(src) +>>>>>>> 6e8401e... Adds pet carriers (#33231) /obj/structure/closet/secure_closet/animal name = "animal control" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 3cb3edb8c2..7f36acaae9 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -12,6 +12,7 @@ new /obj/item/storage/backpack/satchel/cap(src) new /obj/item/clothing/neck/cloak/cap(src) new /obj/item/clothing/neck/petcollar(src) + new /obj/item/pet_carrier(src) new /obj/item/storage/backpack/duffelbag/captain(src) new /obj/item/clothing/head/crown/fancy(src) new /obj/item/clothing/suit/captunic(src) @@ -53,6 +54,7 @@ new /obj/item/restraints/handcuffs/cable/zipties(src) new /obj/item/gun/energy/e_gun/cx(src) new /obj/item/clothing/neck/petcollar(src) + new /obj/item/pet_carrier(src) new /obj/item/door_remote/civillian(src) /obj/structure/closet/secure_closet/hos diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index d8ace5f9c9..39fd0bf182 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -800,6 +800,13 @@ build_path = /obj/item/device/slime_scanner category = list("initial", "Misc") +/datum/design/pet_carrier + name = "Pet Carrier" + id = "pet_carrier" + build_type = AUTOLATHE + materials = list(MAT_METAL = 7500, MAT_GLASS = 100) + build_path = /obj/item/pet_carrier + /datum/design/miniature_power_cell name = "Light Fixture Battery" id = "miniature_power_cell" diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 198c2ee6635552d07aacb52b1b6069704bdc9593..9a7b318e19b050a2d1ed25d14d1b000530198867 100644 GIT binary patch delta 16612 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 diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index cef6409ca22c016fe4735b595039aa10eb5ef783..9d9350e6440467c86be4acd680452ac23fadbe95 100644 GIT binary patch delta 17831 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 delta 17368 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 L^K)6}l+XkKO|6Pl diff --git a/icons/obj/pet_carrier.dmi b/icons/obj/pet_carrier.dmi new file mode 100644 index 0000000000000000000000000000000000000000..340636056cd6d2ecb741937d28f184665cbe903c GIT binary patch literal 2034 zcma)7i#HRF7vHEUF}_G1lPtcL*Od3lBN6+_Yk5q`kd!>;{kEYHtGttKLNuXoL-JaT zJZm0>RI)G2n}%Z9*JJzc{QiL7`JHp`{oHf!J@<9)IXBbE!A4wEK@A=zJGsL? zxmrH3ry%0h->O!WUM{Z&8q~{-#{#0Hw=1LY_9zM$Gqax;*UgYxoKsfpnZ80`dVkoG zHOtL$%kE;8CjtN>3P`K-F0o`bX$Y&>FW-mP%&h!YQy`>z&xw%UapG~|cuu2dL!E>R z=|ajRKUK#eLYI75O3B_i12RP^;`*XBoPfi<88y~PcA8zUeUi{J!330eJ__1rA*uer z>PsH%!dcTC8fA_-|Eretc-M1lZEf(}=Aho@+FGdE(BPnVH$orHOo_M2FSguIO0vvT zRYhuCaXXYEnL2OvG}b3Sw(uW*@+1{Qd!g5`N6H~!7FWbMPc?!XcR8~mv{MWInbk6(U+F@*qkS939c;)9U!wG?V z^JJCr#K-cl%N55Zmf;eEA|YD)Fgp zR-C*;5#eX1`Kz{uJZa~PqE6f@-tU+;8Vv}R^9oY)R4RQgivNqVIwkDq=W+4Sd6Y~Cz?*kcQnUX>tk2Jr-$ElT&iWZlB zqUOxk3KPT8fVHXCZeOj7K>>$#OH+OA>>68`0t%`eJC~sEo`*~0FAR|)V`6GA!Y(Q@ z@3E{`T5$XE)`IDWD$7t?tCX@=m(MmfHr3EK3WQYdA})+LunP)>h8@^|(3r5?dC)QPT(`~*^wYA7o5rgLcN@+ zsi}xt>VyUiqQwEhT>CK3>Ekj5cTUrJ3CTHMC#U9E-5IudR#+@t5Uf*lB)h*m917e( z?Rm!)Gnv;Mz~F^%d5i?`$l_4`ojY1n?MEy+*Kca(`1rV{>Y0>mj3HDGK6n=tq%%sYQfLA`+?ZouVgO>d0kR)Ho?Q>RAt174(HSA<@brCFwu0L?#UiSQ*t1gLZxQA zXrwWg%a{@O;hWg_j9I@kNJG*MU;LqEYC_EkR=7XkHw^M{I)6`p zewapvV;t5#vmBqHEY>n@Su{MqeKjuck~5KJx91%%&Wu8q$r9_x(3g%GKas(F+d<_x58+xG3&>bN=gztI=q~& zms#~_w>KT&F#DxV<+j=lT|6A{C+GQ)VW)l)Gtu_1h|c#hadF+$6kIT z$x=&J8jxa9c3U_|?b1H_ovEA$Hrx62pSN)Jx%trM@4YXZu48+Q7B z0ingd0SG>d-lv2959jk@AZx*qdY5G0j;j4lC^vz0j6%Ry`>?VGdNV!H^@*BbJ@h#r uZMw&oQv<$xGaW~241Z9eE0F(LjxX#W)V2gAvU!3h4nSHvSiQ9LPW=~gvhF_s literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index e8b81cbbb8..82f0230c72 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -870,6 +870,7 @@ #include "code\game\objects\items\mop.dm" #include "code\game\objects\items\paint.dm" #include "code\game\objects\items\paiwire.dm" +#include "code\game\objects\items\pet_carrier.dm" #include "code\game\objects\items\pinpointer.dm" #include "code\game\objects\items\plushes.dm" #include "code\game\objects\items\pneumaticCannon.dm" From d619f206c6a1e3645ae5067dc196dd0b18f48145 Mon Sep 17 00:00:00 2001 From: oranges Date: Fri, 8 Dec 2017 22:28:19 +1300 Subject: [PATCH 090/134] Merge pull request #33235 from Fox-McCloud/xenobio-console Slime Blueprint Change --- code/game/area/Space_Station_13_areas.dm | 1 + code/game/area/areas.dm | 1 + .../modules/research/xenobiology/xenobio_camera.dm | 2 +- code/modules/research/xenobiology/xenobiology.dm | 14 +++++++------- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm index c3296175fb..c5e3d25375 100644 --- a/code/game/area/Space_Station_13_areas.dm +++ b/code/game/area/Space_Station_13_areas.dm @@ -171,6 +171,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/maintenance/department/science/xenobiology name = "Xenobiology Maintenance" icon_state = "xenomaint" + xenobiology_compatible = TRUE //Maintenance - Generic diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 17f75fc336..28209558d7 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -61,6 +61,7 @@ var/list/cameras var/list/firealarms var/firedoors_last_closed_on = 0 + var/xenobiology_compatible = FALSE //Can the Xenobio management console transverse this area by default? /*Adding a wizard area teleport list because motherfucking lag -- Urist*/ /*I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game*/ diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index 02180b273f..576ba6fe8c 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -12,7 +12,7 @@ /mob/camera/aiEye/remote/xenobio/setLoc(var/t) var/area/new_area = get_area(t) - if(new_area && new_area.name == allowed_area || istype(new_area, /area/science/xenobiology )) + if(new_area && new_area.name == allowed_area || new_area && new_area.xenobiology_compatible) return ..() else return diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 6f9db6c8e2..b809401ed1 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -508,14 +508,14 @@ /obj/item/areaeditor/blueprints/slime name = "cerulean prints" - desc = "A one use yet of blueprints made of jelly like organic material. Renaming an area to 'Xenobiology Lab' will extend the reach of the management console." + desc = "A one use yet of blueprints made of jelly like organic material. Extends the reach of the management console." color = "#2956B2" /obj/item/areaeditor/blueprints/slime/edit_area() - var/success = ..() + ..() var/area/A = get_area(src) - if(success) - for(var/turf/T in A) - T.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) - T.add_atom_colour("#2956B2", FIXED_COLOUR_PRIORITY) - qdel(src) + for(var/turf/T in A) + T.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) + T.add_atom_colour("#2956B2", FIXED_COLOUR_PRIORITY) + A.xenobiology_compatible = TRUE + qdel(src) From ec0f2291c924cfe59a2ebd7ab771942cdccb1c02 Mon Sep 17 00:00:00 2001 From: oranges Date: Fri, 8 Dec 2017 22:25:53 +1300 Subject: [PATCH 092/134] Merge pull request #33272 from tgstation/Cyberboss-patch-7 Speeds up some list helpers --- code/__HELPERS/_lists.dm | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index c8163f980a..631214de98 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -9,6 +9,16 @@ * Misc */ +#define LAZYINITLIST(L) if (!L) L = list() +#define UNSETEMPTY(L) if (L && !L.len) L = null +#define LAZYREMOVE(L, I) if(L) { L -= I; if(!L.len) { L = null; } } +#define LAZYADD(L, I) if(!L) { L = list(); } L += I; +#define LAZYACCESS(L, I) (L ? (isnum(I) ? (I > 0 && I <= L.len ? L[I] : null) : L[I]) : null) +#define LAZYSET(L, K, V) if(!L) { L = list(); } L[K] = V; +#define LAZYLEN(L) length(L) +#define LAZYCLEARLIST(L) if(L) L.Cut() +#define SANITIZE_LIST(L) ( islist(L) ? L : list() ) + //Returns a list in plain english as a string /proc/english_list(list/input, nothing_text = "nothing", and_text = " and ", comma_text = ", ", final_comma_text = "" ) var/total = input.len @@ -32,7 +42,7 @@ //Returns list element or null. Should prevent "index out of bounds" error. /proc/listgetindex(list/L, index) - if(istype(L)) + if(LAZYLEN(L)) if(isnum(index) && IsInteger(index)) if(IsInRange(index,1,L.len)) return L[index] @@ -42,7 +52,7 @@ //Return either pick(list) or null if list is not of type /list or is empty /proc/safepick(list/L) - if(istype(L) && L.len) + if(LAZYLEN(L)) return pick(L) //Checks if the list is empty @@ -53,7 +63,7 @@ //Checks for specific types in a list /proc/is_type_in_list(atom/A, list/L) - if(!L || !L.len || !A) + if(!LAZYLEN(L) || !A) return FALSE for(var/type in L) if(istype(A, type)) @@ -62,7 +72,7 @@ //Checks for specific types in specifically structured (Assoc "type" = TRUE) lists ('typecaches') /proc/is_type_in_typecache(atom/A, list/L) - if(!L || !L.len || !A) + if(!LAZYLEN(L) || !A) return FALSE if(ispath(A)) @@ -72,7 +82,7 @@ //Checks for a string in a list /proc/is_string_in_list(string, list/L) - if(!L || !L.len || !string) + if(!LAZYLEN(L) || !string) return for(var/V in L) if(string == V) @@ -81,7 +91,7 @@ //Removes a string from a list /proc/remove_strings_from_list(string, list/L) - if(!L || !L.len || !string) + if(!LAZYLEN(L) || !string) return for(var/V in L) if(V == string) @@ -486,16 +496,6 @@ //Picks from the list, with some safeties, and returns the "default" arg if it fails #define DEFAULTPICK(L, default) ((islist(L) && length(L)) ? pick(L) : default) -#define LAZYINITLIST(L) if (!L) L = list() -#define UNSETEMPTY(L) if (L && !L.len) L = null -#define LAZYREMOVE(L, I) if(L) { L -= I; if(!L.len) { L = null; } } -#define LAZYADD(L, I) if(!L) { L = list(); } L += I; -#define LAZYACCESS(L, I) (L ? (isnum(I) ? (I > 0 && I <= L.len ? L[I] : null) : L[I]) : null) -#define LAZYSET(L, K, V) if(!L) { L = list(); } L[K] = V; -#define LAZYLEN(L) length(L) -#define LAZYCLEARLIST(L) if(L) L.Cut() -#define SANITIZE_LIST(L) ( islist(L) ? L : list() ) - /* Definining a counter as a series of key -> numeric value entries * All these procs modify in place. From 10d50dd283468c4fc00297b32100e0a91ec33bdc Mon Sep 17 00:00:00 2001 From: oranges Date: Fri, 8 Dec 2017 22:24:37 +1300 Subject: [PATCH 094/134] Fixes mugs being called "broken bottles" --- code/modules/food_and_drinks/drinks/drinks.dm | 31 ++++++++----- .../food_and_drinks/drinks/drinks/bottle.dm | 44 +++++++++---------- .../food_and_drinks/food/snacks_other.dm | 2 +- .../food_and_drinks/food/snacks_pastry.dm | 2 +- .../chemistry/reagents/alcohol_reagents.dm | 20 ++++----- .../chemistry/reagents/drink_reagents.dm | 34 +++++++------- .../chemistry/reagents/other_reagents.dm | 4 +- 7 files changed, 72 insertions(+), 65 deletions(-) diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index 5d3cd09f51..4c19843a21 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -115,6 +115,7 @@ I.Blend(B.broken_outline, ICON_OVERLAY, rand(5), 1) I.SwapColor(rgb(255, 0, 220, 255), rgb(0, 0, 0, 0)) B.icon = I + B.name = "broken [name]" if(prob(33)) new/obj/item/shard(drop_location()) playsound(src, "shatter", 70, 1) @@ -186,7 +187,7 @@ // Formatting is the same as food. /obj/item/reagent_containers/food/drinks/coffee - name = "Robust Coffee" + name = "robust coffee" desc = "Careful, the beverage you're about to enjoy is extremely hot." icon_state = "coffee" list_reagents = list("coffee" = 30) @@ -195,7 +196,7 @@ isGlass = FALSE /obj/item/reagent_containers/food/drinks/ice - name = "Ice Cup" + name = "ice cup" desc = "Careful, cold ice, do not chew." icon_state = "coffee" list_reagents = list("ice" = 30) @@ -216,12 +217,12 @@ icon_state = "tea_empty" /obj/item/reagent_containers/food/drinks/mug/tea - name = "Duke Purple Tea" + name = "Duke Purple tea" desc = "An insult to Duke Purple is an insult to the Space Queen! Any proper gentleman will fight you, if you sully this tea." list_reagents = list("tea" = 30) /obj/item/reagent_containers/food/drinks/mug/coco - name = "Dutch Hot Coco" + name = "Dutch hot coco" desc = "Made in Space South America." list_reagents = list("hot_coco" = 30, "sugar" = 5) foodtype = SUGAR @@ -230,7 +231,7 @@ /obj/item/reagent_containers/food/drinks/dry_ramen - name = "Cup Ramen" + name = "cup ramen" desc = "Just add 10ml of water, self heats! A taste that reminds you of your school years." icon_state = "ramen" list_reagents = list("dry_ramen" = 30) @@ -238,7 +239,7 @@ isGlass = FALSE /obj/item/reagent_containers/food/drinks/beer - name = "Space Beer" + name = "space beer" desc = "Beer. In space." icon_state = "beer" list_reagents = list("beer" = 30) @@ -282,7 +283,7 @@ I.Blend(B.broken_outline, ICON_OVERLAY, rand(5), 1) I.SwapColor(rgb(255, 0, 220, 255), rgb(0, 0, 0, 0)) B.icon = I - B.name = "broken carton" + B.name = "broken [name]" B.force = 0 B.throwforce = 0 B.desc = "A carton with the bottom half burst open. Might give you a papercut." @@ -420,28 +421,34 @@ foodtype = SUGAR /obj/item/reagent_containers/food/drinks/soda_cans/tonic - name = "T-Borg's Tonic Water" + name = "T-Borg's tonic water" desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away." icon_state = "tonic" list_reagents = list("tonic" = 50) foodtype = ALCOHOL /obj/item/reagent_containers/food/drinks/soda_cans/sodawater - name = "Soda Water" + name = "soda water" desc = "A can of soda water. Why not make a scotch and soda?" icon_state = "sodawater" list_reagents = list("sodawater" = 50) /obj/item/reagent_containers/food/drinks/soda_cans/lemon_lime - name = "Orange Soda" + name = "orange soda" desc = "You wanted ORANGE. It gave you Lemon Lime." icon_state = "lemon-lime" list_reagents = list("lemon_lime" = 30) foodtype = FRUIT +<<<<<<< HEAD /obj/item/reagent_containers/food/drinks/soda_cans/lemon_lime/New() ..() name = "Lemon-Lime Soda" +======= +/obj/item/reagent_containers/food/drinks/soda_cans/lemon_lime/Initialize() + . = ..() + name = "lemon-lime soda" +>>>>>>> eddf889... Merge pull request #33341 from ShizCalev/31-bottles-of-beer /obj/item/reagent_containers/food/drinks/soda_cans/space_up name = "Space-Up!" @@ -485,14 +492,14 @@ list_reagents = list("pwr_game" = 30) /obj/item/reagent_containers/food/drinks/soda_cans/shamblers - name = "Shambler's Juice" + name = "Shambler's juice" desc = "~Shake me up some of that Shambler's Juice!~" icon_state = "shamblers" list_reagents = list("shamblers" = 30) foodtype = SUGAR | JUNKFOOD /obj/item/reagent_containers/food/drinks/soda_cans/air - name = "Canned Air" + name = "canned air" desc = "There is no air shortage. Do not drink." icon_state = "air" list_reagents = list("nitrogen" = 24, "oxygen" = 6) diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index 5625a752b3..005dda29ca 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -35,10 +35,10 @@ new/obj/item/shard(drop_location()) playsound(src, "shatter", 70, 1) else - B.name = "broken carton" B.force = 0 B.throwforce = 0 B.desc = "A carton with the bottom half burst open. Might give you a papercut." + B.name = "broken [name]" transfer_fingerprints_to(B) qdel(src) @@ -119,7 +119,7 @@ //Keeping this here for now, I'll ask if I should keep it here. /obj/item/broken_bottle - name = "Broken Bottle" + name = "broken bottle" desc = "A bottle with a sharp broken bottom." icon = 'icons/obj/drinks.dmi' icon_state = "broken_bottle" @@ -135,37 +135,37 @@ sharpness = IS_SHARP /obj/item/reagent_containers/food/drinks/bottle/gin - name = "Griffeater Gin" + name = "Griffeater gin" desc = "A bottle of high quality gin, produced in the New London Space Station." icon_state = "ginbottle" list_reagents = list("gin" = 100) /obj/item/reagent_containers/food/drinks/bottle/whiskey - name = "Uncle Git's Special Reserve" + name = "Uncle Git's special reserve" desc = "A premium single-malt whiskey, gently matured inside the tunnels of a nuclear shelter. TUNNEL WHISKEY RULES." icon_state = "whiskeybottle" list_reagents = list("whiskey" = 100) /obj/item/reagent_containers/food/drinks/bottle/vodka - name = "Tunguska Triple Distilled" + name = "Tunguska triple distilled" desc = "Aah, vodka. Prime choice of drink AND fuel by Russians worldwide." icon_state = "vodkabottle" list_reagents = list("vodka" = 100) /obj/item/reagent_containers/food/drinks/bottle/vodka/badminka - name = "Badminka Vodka" + name = "Badminka vodka" desc = "The label's written in Cyrillic. All you can make out is the name and a word that looks vaguely like 'Vodka'." icon_state = "badminka" list_reagents = list("vodka" = 100) /obj/item/reagent_containers/food/drinks/bottle/tequila - name = "Caccavo Guaranteed Quality Tequila" + name = "Caccavo guaranteed quality tequila" desc = "Made from premium petroleum distillates, pure thalidomide and other fine quality ingredients!" icon_state = "tequilabottle" list_reagents = list("tequila" = 100) /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing - name = "Bottle of Nothing" + name = "bottle of nothing" desc = "A bottle filled with nothing." icon_state = "bottleofnothing" list_reagents = list("nothing" = 100) @@ -178,13 +178,13 @@ list_reagents = list("patron" = 100) /obj/item/reagent_containers/food/drinks/bottle/rum - name = "Captain Pete's Cuban Spiced Rum" + name = "Captain Pete's Cuban spiced rum" desc = "This isn't just rum, oh no. It's practically GRIFF in a bottle." icon_state = "rumbottle" list_reagents = list("rum" = 100) /obj/item/reagent_containers/food/drinks/bottle/holywater - name = "Flask of Holy Water" + name = "flask of holy water" desc = "A flask of the chaplain's holy water." icon_state = "holyflask" list_reagents = list("holywater" = 100) @@ -195,39 +195,39 @@ list_reagents = list("hell_water" = 100) /obj/item/reagent_containers/food/drinks/bottle/vermouth - name = "Goldeneye Vermouth" + name = "Goldeneye vermouth" desc = "Sweet, sweet dryness~" icon_state = "vermouthbottle" list_reagents = list("vermouth" = 100) /obj/item/reagent_containers/food/drinks/bottle/kahlua - name = "Robert Robust's Coffee Liqueur" + name = "Robert Robust's coffee liqueur" desc = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936, HONK." icon_state = "kahluabottle" list_reagents = list("kahlua" = 100) foodtype = VEGETABLES /obj/item/reagent_containers/food/drinks/bottle/goldschlager - name = "College Girl Goldschlager" + name = "College Girl goldschlager" desc = "Because they are the only ones who will drink 100 proof cinnamon schnapps." icon_state = "goldschlagerbottle" list_reagents = list("goldschlager" = 100) /obj/item/reagent_containers/food/drinks/bottle/cognac - name = "Chateau De Baton Premium Cognac" + name = "Chateau de Baton premium cognac" desc = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. You might as well not scream 'SHITCURITY' this time." icon_state = "cognacbottle" list_reagents = list("cognac" = 100) /obj/item/reagent_containers/food/drinks/bottle/wine - name = "Doublebeard Bearded Special Wine" + name = "Doublebeard's bearded special wine" desc = "A faint aura of unease and asspainery surrounds the bottle." icon_state = "winebottle" list_reagents = list("wine" = 100) foodtype = FRUIT | ALCOHOL /obj/item/reagent_containers/food/drinks/bottle/absinthe - name = "Extra-Strong Absinthe" + name = "extra-strong absinthe" desc = "An strong alcoholic drink brewed and distributed by" icon_state = "absinthebottle" list_reagents = list("absinthe" = 100) @@ -272,7 +272,7 @@ /obj/item/reagent_containers/food/drinks/bottle/absinthe/premium - name = "Gwyn's Premium Absinthe" + name = "Gwyn's premium absinthe" desc = "A potent alcoholic beverage, almost makes you forget the ash in your lungs." icon_state = "absinthepremium" @@ -280,7 +280,7 @@ return /obj/item/reagent_containers/food/drinks/bottle/lizardwine - name = "Bottle of lizard wine" + name = "bottle of lizard wine" desc = "An alcoholic beverage from Space China, made by infusing lizard tails in ethanol. Inexplicably popular among command staff." icon_state = "lizardwine" list_reagents = list("lizardwine" = 100) @@ -302,7 +302,7 @@ //////////////////////////JUICES AND STUFF /////////////////////// /obj/item/reagent_containers/food/drinks/bottle/orangejuice - name = "Orange Juice" + name = "orange juice" desc = "Full of vitamins and deliciousness!" icon_state = "orangejuice" item_state = "carton" @@ -313,7 +313,7 @@ foodtype = FRUIT /obj/item/reagent_containers/food/drinks/bottle/cream - name = "Milk Cream" + name = "milk cream" desc = "It's cream. Made from milk. What else did you think you'd find in there?" icon_state = "cream" item_state = "carton" @@ -324,7 +324,7 @@ foodtype = DAIRY /obj/item/reagent_containers/food/drinks/bottle/tomatojuice - name = "Tomato Juice" + name = "tomato juice" desc = "Well, at least it LOOKS like tomato juice. You can't tell with all that redness." icon_state = "tomatojuice" item_state = "carton" @@ -335,7 +335,7 @@ foodtype = VEGETABLES /obj/item/reagent_containers/food/drinks/bottle/limejuice - name = "Lime Juice" + name = "lime juice" desc = "Sweet-sour goodness." icon_state = "limejuice" item_state = "carton" diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm index 0c626ab71e..c32ebfb765 100644 --- a/code/modules/food_and_drinks/food/snacks_other.dm +++ b/code/modules/food_and_drinks/food/snacks_other.dm @@ -380,7 +380,7 @@ foodtype = VEGETABLES | FRIED | DAIRY /obj/item/reagent_containers/food/snacks/cubannachos - name = "cuban nachos" + name = "Cuban nachos" desc = "That's some dangerously spicy nachos." icon_state = "cubannachos" bonus_reagents = list("nutriment" = 2, "vitamin" = 3) diff --git a/code/modules/food_and_drinks/food/snacks_pastry.dm b/code/modules/food_and_drinks/food/snacks_pastry.dm index ef518bf5fc..284784484f 100644 --- a/code/modules/food_and_drinks/food/snacks_pastry.dm +++ b/code/modules/food_and_drinks/food/snacks_pastry.dm @@ -4,7 +4,7 @@ /obj/item/reagent_containers/food/snacks/donut name = "donut" - desc = "Goes great with Robust Coffee." + desc = "Goes great with robust coffee." icon_state = "donut1" bitesize = 5 bonus_reagents = list("sugar" = 1) diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 9321c6b015..6a3b1a1637 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -109,7 +109,7 @@ All effects don't start immediately, but rather get worse over time; the rate is color = "#664300" // rgb: 102, 67, 0 boozepwr = 45 glass_icon_state = "kahluaglass" - glass_name = "glass of RR Coffee Liquor" + glass_name = "glass of RR coffee liquor" glass_desc = "DAMN, THIS THING LOOKS ROBUST!" shot_glass_icon_state = "shotglasscream" @@ -341,7 +341,7 @@ All effects don't start immediately, but rather get worse over time; the rate is boozepwr = 25 taste_description = "burning cinnamon" glass_icon_state = "goldschlagerglass" - glass_name = "glass of Goldschlager" + glass_name = "glass of goldschlager" glass_desc = "100% proof that teen girls will drink anything with gold in it." shot_glass_icon_state = "shotglassgold" @@ -396,7 +396,7 @@ All effects don't start immediately, but rather get worse over time; the rate is boozepwr = 70 taste_description = "cola" glass_icon_state = "whiskeycolaglass" - glass_name = "Whiskey Cola" + glass_name = "whiskey cola" glass_desc = "An innocent-looking mixture of cola and Whiskey. Delicious." /datum/reagent/consumable/ethanol/martini @@ -706,7 +706,7 @@ All effects don't start immediately, but rather get worse over time; the rate is boozepwr = 70 taste_description = "soda" glass_icon_state = "whiskeysodaglass2" - glass_name = "Whiskey Soda" + glass_name = "whiskey soda" glass_desc = "Ultimate refreshment." /datum/reagent/consumable/ethanol/antifreeze @@ -785,7 +785,7 @@ All effects don't start immediately, but rather get worse over time; the rate is boozepwr = 70 taste_description = "tart bitterness" glass_icon_state = "vodkatonicglass" - glass_name = "Vodka and Tonic" + glass_name = "vodka and tonic" glass_desc = "For when a gin and tonic isn't Russian enough." @@ -797,7 +797,7 @@ All effects don't start immediately, but rather get worse over time; the rate is boozepwr = 45 taste_description = "dry, tart lemons" glass_icon_state = "ginfizzglass" - glass_name = "Gin Fizz" + glass_name = "gin fizz" glass_desc = "Refreshingly lemony, deliciously dry." @@ -870,7 +870,7 @@ All effects don't start immediately, but rather get worse over time; the rate is boozepwr = 15 taste_description = "refreshingly cold" glass_icon_state = "iced_beerglass" - glass_name = "Iced Beer" + glass_name = "iced beer" glass_desc = "A beer so frosty, the air around it freezes." /datum/reagent/consumable/ethanol/iced_beer/on_mob_life(mob/living/M) @@ -1069,7 +1069,7 @@ All effects don't start immediately, but rather get worse over time; the rate is boozepwr = 35 taste_description = "sour lemons" glass_icon_state = "whiskey_sour" - glass_name = "Whiskey Sour" + glass_name = "whiskey sour" glass_desc = "Lemon juice mixed with whiskey and a dash of sugar. Surprisingly satisfying." /datum/reagent/consumable/ethanol/hcider @@ -1081,7 +1081,7 @@ All effects don't start immediately, but rather get worse over time; the rate is boozepwr = 25 taste_description = "apples" glass_icon_state = "whiskeyglass" - glass_name = "Hard Cider" + glass_name = "hard cider" glass_desc = "Tastes like autumn." shot_glass_icon_state = "shotglassbrown" @@ -1279,5 +1279,5 @@ All effects don't start immediately, but rather get worse over time; the rate is boozepwr = 1 taste_description = "custard and alcohol" glass_icon_state = "glass_yellow" - glass_name = "Eggnog" + glass_name = "eggnog" glass_desc = "For enjoying the most wonderful time of the year." diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index 308fd47a16..b62afb80c0 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -148,7 +148,7 @@ description = "Absolutely nothing." taste_description = "nothing" glass_icon_state = "nothing" - glass_name = "Nothing" + glass_name = "nothing" glass_desc = "Absolutely nothing." shot_glass_icon_state = "shotglass" @@ -319,7 +319,7 @@ nutriment_factor = 0 taste_description = "bitter coldness" glass_icon_state = "icedcoffeeglass" - glass_name = "Iced Coffee" + glass_name = "iced coffee" glass_desc = "A drink to perk you up and refresh you!" /datum/reagent/consumable/icecoffee/on_mob_life(mob/living/M) @@ -340,7 +340,7 @@ nutriment_factor = 0 taste_description = "sweet tea" glass_icon_state = "icedteaglass" - glass_name = "Iced Tea" + glass_name = "iced tea" glass_desc = "All natural, antioxidant-rich flavour sensation." /datum/reagent/consumable/icetea/on_mob_life(mob/living/M) @@ -361,7 +361,7 @@ color = "#100800" // rgb: 16, 8, 0 taste_description = "cola" glass_icon_state = "glass_brown" - glass_name = "glass of space Cola" + glass_name = "glass of Space Cola" glass_desc = "A glass of refreshing Space Cola." /datum/reagent/consumable/space_cola/on_mob_life(mob/living/M) @@ -377,7 +377,7 @@ color = "#100800" // rgb: 16, 8, 0 taste_description = "the future" glass_icon_state = "nuka_colaglass" - glass_name = "Nuka Cola" + glass_name = "glass of Nuka Cola" glass_desc = "Don't cry, Don't raise your eye, It's only nuclear wasteland." /datum/reagent/consumable/nuka_cola/on_mob_life(mob/living/M) @@ -434,7 +434,7 @@ color = "#00FF00" // rgb: 0, 255, 0 taste_description = "cherry soda" glass_icon_state = "space-up_glass" - glass_name = "glass of Space-up" + glass_name = "glass of Space-Up" glass_desc = "Space-up. It helps you keep your cool." @@ -450,7 +450,7 @@ color = "#8CFF00" // rgb: 135, 255, 0 taste_description = "tangy lime and lemon soda" glass_icon_state = "glass_yellow" - glass_name = "glass of Lemon-Lime" + glass_name = "glass of lemon-lime" glass_desc = "You're pretty certain a real fruit has never actually touched this." @@ -481,7 +481,7 @@ color = "#f00060" // rgb: 94, 0, 38 taste_description = "carbonated metallic soda" glass_icon_state = "glass_red" - glass_name = "glass of Shambler's Juice" + glass_name = "glass of Shambler's juice" glass_desc = "Mmm mm, shambly." /datum/reagent/consumable/shamblers/on_mob_life(mob/living/M) @@ -495,7 +495,7 @@ color = "#619494" // rgb: 97, 148, 148 taste_description = "carbonated water" glass_icon_state = "glass_clear" - glass_name = "glass of Soda Water" + glass_name = "glass of soda water" glass_desc = "Soda water. Why not make a scotch and soda?" /datum/reagent/consumable/sodawater/on_mob_life(mob/living/M) @@ -512,7 +512,7 @@ color = "#0064C8" // rgb: 0, 100, 200 taste_description = "tart and fresh" glass_icon_state = "glass_clear" - glass_name = "glass of Tonic Water" + glass_name = "glass of tonic water" glass_desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away." /datum/reagent/consumable/tonic/on_mob_life(mob/living/M) @@ -546,7 +546,7 @@ color = "#664300" // rgb: 102, 67, 0 taste_description = "creamy coffee" glass_icon_state = "soy_latte" - glass_name = "Soy Latte" + glass_name = "soy latte" glass_desc = "A nice and refreshing beverage while you're reading." /datum/reagent/consumable/soy_latte/on_mob_life(mob/living/M) @@ -568,7 +568,7 @@ color = "#664300" // rgb: 102, 67, 0 taste_description = "bitter cream" glass_icon_state = "cafe_latte" - glass_name = "Cafe Latte" + glass_name = "cafe latte" glass_desc = "A nice, strong and refreshing beverage while you're reading." /datum/reagent/consumable/cafe_latte/on_mob_life(mob/living/M) @@ -612,7 +612,7 @@ nutriment_factor = 4 * REAGENTS_METABOLISM taste_description = "sweet chocolate" glass_icon_state = "chocolatepudding" - glass_name = "Chocolate Pudding" + glass_name = "chocolate pudding" glass_desc = "Tasty." /datum/reagent/consumable/vanillapudding @@ -623,7 +623,7 @@ nutriment_factor = 4 * REAGENTS_METABOLISM taste_description = "sweet vanilla" glass_icon_state = "vanillapudding" - glass_name = "Vanilla Pudding" + glass_name = "vanilla pudding" glass_desc = "Tasty." /datum/reagent/consumable/cherryshake @@ -634,7 +634,7 @@ nutriment_factor = 4 * REAGENTS_METABOLISM taste_description = "creamy cherry" glass_icon_state = "cherryshake" - glass_name = "Cherry Shake" + glass_name = "cherry shake" glass_desc = "A cherry flavored milkshake." /datum/reagent/consumable/bluecherryshake @@ -645,7 +645,7 @@ nutriment_factor = 4 * REAGENTS_METABOLISM taste_description = "creamy blue cherry" glass_icon_state = "bluecherryshake" - glass_name = "Blue Cherry Shake" + glass_name = "blue cherry shake" glass_desc = "An exotic blue milkshake." /datum/reagent/consumable/pumpkin_latte @@ -656,7 +656,7 @@ nutriment_factor = 3 * REAGENTS_METABOLISM taste_description = "creamy pumpkin" glass_icon_state = "pumpkin_latte" - glass_name = "Pumpkin Latte" + glass_name = "pumpkin latte" glass_desc = "A mix of coffee and pumpkin juice." /datum/reagent/consumable/gibbfloats diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index aab8491249..a439080f55 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -117,7 +117,7 @@ taste_description = "water" var/cooling_temperature = 2 glass_icon_state = "glass_clear" - glass_name = "glass of Water" + glass_name = "glass of water" glass_desc = "The father of all refreshments." shot_glass_icon_state = "shotglassclear" @@ -188,7 +188,7 @@ description = "Water blessed by some deity." color = "#E0E8EF" // rgb: 224, 232, 239 glass_icon_state = "glass_clear" - glass_name = "glass of Holy Water" + glass_name = "glass of holy water" glass_desc = "A glass of holy water." /datum/reagent/water/holywater/reaction_mob(mob/living/M, method=TOUCH, reac_volume) From 0496cc9bc7d8298d84134fe7afcca47f67c5aa06 Mon Sep 17 00:00:00 2001 From: Shadowlight213 Date: Thu, 7 Dec 2017 23:41:29 -0800 Subject: [PATCH 095/134] Adds a medal for getting to the end of the secret tile dialog. (#33116) * Adds medal for reaching the end of the secret room panel list * fix --- code/modules/awaymissions/super_secret_room.dm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/code/modules/awaymissions/super_secret_room.dm b/code/modules/awaymissions/super_secret_room.dm index fa9aff7f43..b1f505a27e 100644 --- a/code/modules/awaymissions/super_secret_room.dm +++ b/code/modules/awaymissions/super_secret_room.dm @@ -17,6 +17,8 @@ var/list/json = json_decode(file2text(json_file)) shenanigans = json["phrases"] +#define TIMEWASTE_MEDAL "Overextended The Joke" + /obj/structure/speaking_tile/interact(mob/user) if(!isliving(user) || speaking) return @@ -45,11 +47,11 @@ SpeakPeace(list("Alright maybe that's too boring.", "I can't keep manually typing these lines out though.", "It's hard to explain but the code structure I'm using is kind of terrible.")) if(10) SpeakPeace(list("Oh I have an idea!", "Lets outsource this endless banter to Poly!", "Then you'll be able to keep listening to this without getting bored!")) - if(isnull(shenanigans)) + if(isnull(shenanigans) || !shenanigans.len) shenanigans = list("Except the poly file is missing...") if(11 to 14, 16 to 50, 52 to 99, 103 to 107, 109 to 203, 205 to 249, 252 to 665, 667 to 999, 1001 to 5642) SpeakPeace(list(pick(shenanigans),pick(shenanigans),pick(shenanigans))) - if(times_spoken_to * 0.1 == round(times_spoken_to * 0.1)) + if(times_spoken_to % 10 == 0) SpeakPeace(list("That's [times_spoken_to] times you've spoken to me by the way.")) if(15) SpeakPeace(list("See? Isn't this fun?","Now you can mash this for hours without getting bored.","Anyway I'll leave you it.")) @@ -79,6 +81,7 @@ if(1000) SpeakPeace(list("The ends exists somewhere beyond meaningful milestones.", "There will be no more messages until then.", "You disgust me.")) if(5643) + UnlockMedal(TIMEWASTE_MEDAL,user.client) var/obj/item/reagent_containers/food/drinks/trophy/gold_cup/never_ends = new(get_turf(user)) never_ends.name = "Overextending The Joke: First Place" never_ends.desc = "And so we are left alone with our regrets." @@ -87,7 +90,7 @@ speaking = FALSE times_spoken_to++ - +#undef TIMEWASTE_MEDAL /obj/structure/speaking_tile/proc/SpeakPeace(list/statements) for(var/i in 1 to statements.len) say("[statements[i]]") From 309f82dc9ea77a3bbadc7a1138e10e5c273daa76 Mon Sep 17 00:00:00 2001 From: Tlaltecuhtli <33834933+Tlaltecuhtli@users.noreply.github.com> Date: Fri, 8 Dec 2017 02:20:50 +0100 Subject: [PATCH 097/134] commit (#33343) help what is this --- code/modules/mob/living/simple_animal/friendly/cat.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index a333f22c38..1555ad6e6c 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -9,8 +9,8 @@ gender = MALE speak = list("Meow!", "Esp!", "Purr!", "HSSSSS") speak_emote = list("purrs", "meows") - emote_hear = list("meows", "mews") - emote_see = list("shakes its head", "shivers") + emote_hear = list("meows.", "mews.") + emote_see = list("shakes its head.", "shivers.") speak_chance = 1 turns_per_move = 5 see_in_dark = 6 From f7d5ab5baf972688d85380e13473ef13f4679f4c Mon Sep 17 00:00:00 2001 From: YPOQ <30683121+YPOQ@users.noreply.github.com> Date: Thu, 7 Dec 2017 18:18:28 -0700 Subject: [PATCH 099/134] Fixes some broken random events (#33345) --- code/__HELPERS/game.dm | 19 ---------------- code/datums/antagonists/wizard.dm | 15 +++++++------ code/modules/events/camerafailure.dm | 4 +--- code/modules/events/wizard/curseditems.dm | 27 +++++++++++------------ code/modules/events/wizard/imposter.dm | 7 +++--- code/modules/events/wizard/race.dm | 2 +- 6 files changed, 26 insertions(+), 48 deletions(-) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 57fe0559fa..0e1c1c3979 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -326,25 +326,6 @@ return M return null -// Will return a list of active candidates. It increases the buffer 5 times until it finds a candidate which is active within the buffer. - -/proc/get_candidates(be_special_type, afk_bracket = CONFIG_GET(number/inactivity_period), jobbanType) - var/list/candidates = list() - // Keep looping until we find a non-afk candidate within the time bracket (we limit the bracket to 10 minutes (6000)) - var/afk_period = CONFIG_GET(number/afk_period) - while(!candidates.len && afk_bracket < afk_period) - for(var/mob/dead/observer/G in GLOB.player_list) - if(G.client != null) - if(!(G.mind && G.mind.current && G.mind.current.stat != DEAD)) - if(!G.client.is_afk(afk_bracket) && (be_special_type in G.client.prefs.be_special)) - if (jobbanType) - if(!(jobban_isbanned(G, jobbanType) || jobban_isbanned(G, "Syndicate"))) - candidates += G.client - else - candidates += G.client - afk_bracket += 600 // Add a minute to the bracket, for every attempt - return candidates - /proc/considered_alive(datum/mind/M, enforce_human = TRUE) if(M && M.current) if(enforce_human) diff --git a/code/datums/antagonists/wizard.dm b/code/datums/antagonists/wizard.dm index a8cce02fa1..e1e6dc09c8 100644 --- a/code/datums/antagonists/wizard.dm +++ b/code/datums/antagonists/wizard.dm @@ -71,7 +71,7 @@ var/datum/objective/escape/escape_objective = new escape_objective.owner = owner objectives += escape_objective - + if(31 to 60) var/datum/objective/steal/steal_objective = new steal_objective.owner = owner @@ -103,8 +103,8 @@ if (!(locate(/datum/objective/hijack) in owner.objectives)) var/datum/objective/hijack/hijack_objective = new hijack_objective.owner = owner - objectives += hijack_objective - + objectives += hijack_objective + for(var/datum/objective/O in objectives) owner.objectives += O @@ -128,7 +128,7 @@ if(H.age < wiz_age) H.age = wiz_age H.equipOutfit(outfit_type) - + /datum/antagonist/wizard/greet() to_chat(owner, "You are the Space Wizard!") to_chat(owner, "The Space Wizards Federation has given you the following tasks:") @@ -208,7 +208,7 @@ owner.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/knock(null)) owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/mind_transfer(null)) to_chat(owner, "Your service has not gone unrewarded, however. Studying under [master.current.real_name], you have learned stealthy, robeless spells. You are able to cast knock and mindswap.") - + /datum/antagonist/wizard/apprentice/create_objectives() var/datum/objective/protect/new_objective = new /datum/objective/protect new_objective.owner = owner @@ -221,6 +221,7 @@ /datum/antagonist/wizard/apprentice/imposter name = "Wizard Imposter" allow_rename = FALSE + move_to_lair = FALSE /datum/antagonist/wizard/apprentice/imposter/greet() to_chat(owner, "You are an imposter! Trick and confuse the crew to misdirect malice from your handsome original!") @@ -266,7 +267,7 @@ /datum/antagonist/wizard/academy/equip_wizard() . = ..() - + owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/ethereal_jaunt) owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/projectile/magic_missile) owner.AddSpell(new /obj/effect/proc_holder/spell/aimed/fireball) @@ -274,7 +275,7 @@ var/mob/living/M = owner.current if(!istype(M)) return - + var/obj/item/implant/exile/Implant = new/obj/item/implant/exile(M) Implant.implant(M) diff --git a/code/modules/events/camerafailure.dm b/code/modules/events/camerafailure.dm index 9f85628629..cbc2d95776 100644 --- a/code/modules/events/camerafailure.dm +++ b/code/modules/events/camerafailure.dm @@ -6,11 +6,9 @@ alertadmins = 0 /datum/round_event/camera_failure - startWhen = 1 - endWhen = 2 fakeable = FALSE -/datum/round_event/camera_failure/tick() +/datum/round_event/camera_failure/start() var/iterations = 1 var/obj/machinery/camera/C = pick(GLOB.cameranet.cameras) while(prob(round(100/iterations))) diff --git a/code/modules/events/wizard/curseditems.dm b/code/modules/events/wizard/curseditems.dm index 121a0e5083..00d8c3b829 100644 --- a/code/modules/events/wizard/curseditems.dm +++ b/code/modules/events/wizard/curseditems.dm @@ -11,29 +11,29 @@ /datum/round_event/wizard/cursed_items/start() var/item_set = pick("wizardmimic", "swords", "bigfatdoobie", "boxing", "voicemodulators", "catgirls2015") - var/list/wearslots = list(slot_wear_suit, slot_shoes, slot_head, slot_wear_mask, slot_gloves, slot_ears) - var/list/loadout = list() + var/list/loadout[slots_amt] var/ruins_spaceworthiness var/ruins_wizard_loadout - loadout.len = 7 switch(item_set) if("wizardmimic") - loadout = list(/obj/item/clothing/suit/wizrobe, /obj/item/clothing/shoes/sandal/magic, /obj/item/clothing/head/wizard) + loadout[slot_wear_suit] = /obj/item/clothing/suit/wizrobe + loadout[slot_shoes] = /obj/item/clothing/shoes/sandal/magic + loadout[slot_head] = /obj/item/clothing/head/wizard ruins_spaceworthiness = 1 if("swords") - loadout[5] = /obj/item/katana/cursed + loadout[slot_hands] = /obj/item/katana/cursed if("bigfatdoobie") - loadout[4] = /obj/item/clothing/mask/cigarette/rollie/trippy + loadout[slot_wear_mask] = /obj/item/clothing/mask/cigarette/rollie/trippy ruins_spaceworthiness = 1 if("boxing") - loadout[4] = /obj/item/clothing/mask/luchador - loadout[6] = /obj/item/clothing/gloves/boxing + loadout[slot_wear_mask] = /obj/item/clothing/mask/luchador + loadout[slot_gloves] = /obj/item/clothing/gloves/boxing ruins_spaceworthiness = 1 if("voicemodulators") - loadout[4] = /obj/item/clothing/mask/chameleon + loadout[slot_wear_mask] = /obj/item/clothing/mask/chameleon if("catgirls2015") - loadout[3] = /obj/item/clothing/head/kitty + loadout[slot_head] = /obj/item/clothing/head/kitty ruins_spaceworthiness = 1 ruins_wizard_loadout = 1 @@ -44,14 +44,13 @@ continue if(item_set == "catgirls2015") //Wizard code means never having to say you're sorry H.gender = FEMALE - var/list/slots = list(H.wear_suit, H.shoes, H.head, H.wear_mask, H.gloves, H.ears) //add new slots as needed to back for(var/i in 1 to loadout.len) if(loadout[i]) var/obj/item/J = loadout[i] var/obj/item/I = new J //dumb but required because of byond throwing a fit anytime new gets too close to a list - H.temporarilyRemoveItemFromInventory(slots[i], TRUE) - H.equip_to_slot_or_del(I, wearslots[i]) - I.flags_1 |= NODROP_1 + H.dropItemToGround(H.get_item_by_slot(i), TRUE) + H.equip_to_slot_or_del(I, i) + I.flags_1 |= NODROP_1 | DROPDEL_1 I.name = "cursed " + I.name for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) diff --git a/code/modules/events/wizard/imposter.dm b/code/modules/events/wizard/imposter.dm index 54d3d8ed41..4b2147bd9e 100644 --- a/code/modules/events/wizard/imposter.dm +++ b/code/modules/events/wizard/imposter.dm @@ -6,12 +6,11 @@ earliest_start = 0 /datum/round_event/wizard/imposter/start() - for(var/datum/mind/M in SSticker.mode.wizards) if(!ishuman(M.current)) continue var/mob/living/carbon/human/W = M.current - var/list/candidates = get_candidates(ROLE_WIZARD) + var/list/candidates = pollGhostCandidates("Would you like to be an imposter wizard?", ROLE_WIZARD) if(!candidates) return //Sad Trombone var/client/C = pick(candidates) @@ -28,10 +27,10 @@ var/datum/antagonist/wizard/master = M.has_antag_datum(/datum/antagonist/wizard) if(!master.wiz_team) master.create_wiz_team() - var/datum/antagonist/wizard/apprentice/imposter = new(I.mind) + var/datum/antagonist/wizard/apprentice/imposter/imposter = new(I.mind) imposter.master = M imposter.wiz_team = master.wiz_team - master.wiz_team += imposter + master.wiz_team.add_member(imposter) I.mind.add_antag_datum(imposter) //Remove if possible SSticker.mode.apprentices += I.mind diff --git a/code/modules/events/wizard/race.dm b/code/modules/events/wizard/race.dm index e054be9b08..29773d95b2 100644 --- a/code/modules/events/wizard/race.dm +++ b/code/modules/events/wizard/race.dm @@ -22,7 +22,7 @@ for(var/mob/living/carbon/human/H in GLOB.carbon_list) //yes, even the dead H.set_species(new_species) - H.real_name = new_species.random_name(H.gender,1) + H.real_name = H.dna.species.random_name(H.gender,1) H.dna.unique_enzymes = H.dna.generate_unique_enzymes() to_chat(H, "You feel somehow... different?") if(!all_the_same) From abf3531563c4a2d9aef59f0abc55a854d709ee35 Mon Sep 17 00:00:00 2001 From: MrDoomBringer Date: Thu, 7 Dec 2017 18:47:44 -0500 Subject: [PATCH 101/134] Improves the Smoke Machine sprite (#33344) * dab * here you go WJ Darkens sprite, adds detail (connector ports/shading) --- icons/obj/chemical.dmi | Bin 36761 -> 37372 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/chemical.dmi b/icons/obj/chemical.dmi index 3507d9db53c7d619ba21af329c779e56d95b229f..367be13b3ba2797f552834b2a25c7b33d77f283f 100644 GIT binary patch delta 18319 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 delta 17703 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 Date: Thu, 7 Dec 2017 17:03:18 -0500 Subject: [PATCH 103/134] Adds a MapAtmosFixer auto compile thing to .gitignore (#33336) --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 9744499e37..3b85a6ec30 100644 --- a/.gitignore +++ b/.gitignore @@ -192,6 +192,7 @@ Temporary Items #Visual studio stuff *.vscode/* +tools/MapAtmosFixer/MapAtmosFixer/obj/x86/Debug/MapAtmosFixer.csproj.CoreCompileInputs.cache #GitHub Atom .atom-build.json From 8b9e15d1b5855a485bb45d7e042b0b41622183a4 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Thu, 7 Dec 2017 13:50:09 -0500 Subject: [PATCH 105/134] Merge pull request #33324 from deathride58/foreignfurryaddswidescreen [Ready] Makes the default view range a config option (Allows hosts to enable widescreen) --- code/_globalvars/configuration.dm | 1 - code/controllers/configuration/entries/config.dm | 3 +++ code/controllers/configuration/entries/game_options.dm | 2 +- code/datums/components/riding.dm | 2 +- code/game/mecha/mecha.dm | 4 ++-- code/game/mecha/mecha_actions.dm | 2 +- code/game/objects/structures/manned_turret.dm | 2 +- code/modules/admin/verbs/randomverbs.dm | 4 ++-- code/modules/clothing/spacesuits/flightsuit.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 6 +++--- code/modules/mob/living/silicon/ai/ai.dm | 3 ++- code/modules/mob/login.dm | 2 +- code/modules/power/singularity/emitter.dm | 2 +- code/modules/projectiles/gun.dm | 2 +- code/modules/projectiles/guns/beam_rifle.dm | 2 +- code/modules/shuttle/navigation_computer.dm | 2 +- config/config.txt | 7 +++++++ 17 files changed, 29 insertions(+), 19 deletions(-) diff --git a/code/_globalvars/configuration.dm b/code/_globalvars/configuration.dm index 391744e34c..8ecf572ea7 100644 --- a/code/_globalvars/configuration.dm +++ b/code/_globalvars/configuration.dm @@ -35,4 +35,3 @@ GLOBAL_PROTECT(MAX_EX_FLASH_RANGE) GLOBAL_VAR_INIT(MAX_EX_FLAME_RANGE, 14) GLOBAL_PROTECT(MAX_EX_FLAME_RANGE) GLOBAL_VAR_INIT(DYN_EX_SCALE, 0.5) - diff --git a/code/controllers/configuration/entries/config.dm b/code/controllers/configuration/entries/config.dm index 165f1a69ab..83faca6b72 100644 --- a/code/controllers/configuration/entries/config.dm +++ b/code/controllers/configuration/entries/config.dm @@ -385,3 +385,6 @@ CONFIG_TWEAK(flag/resume_after_initializations/ValidateAndSet(str_val)) CONFIG_DEF(number/rounds_until_hard_restart) value = -1 min_val = 0 + +CONFIG_DEF(string/default_view) + value = "15x15" diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index 1b58d86db2..b04d7845f5 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -263,4 +263,4 @@ CONFIG_DEF(number/emergency_shuttle_autocall_threshold) max_val = 1 integer = FALSE -CONFIG_DEF(flag/ic_printing) \ No newline at end of file +CONFIG_DEF(flag/ic_printing) diff --git a/code/datums/components/riding.dm b/code/datums/components/riding.dm index 4b18f91014..f165717a31 100644 --- a/code/datums/components/riding.dm +++ b/code/datums/components/riding.dm @@ -131,7 +131,7 @@ buckled_mob.pixel_x = 0 buckled_mob.pixel_y = 0 if(buckled_mob.client) - buckled_mob.client.change_view(world.view) + buckled_mob.client.change_view(CONFIG_GET(string/default_view)) //MOVEMENT /datum/component/riding/proc/turf_check(turf/next, turf/current) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 10d4638eb0..ba41609fca 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -970,7 +970,7 @@ setDir(dir_in) if(L && L.client) - L.client.change_view(world.view) + L.client.change_view(CONFIG_GET(string/default_view)) zoom_mode = 0 ///////////////////////// @@ -1042,4 +1042,4 @@ GLOBAL_VAR_INIT(year_integer, text2num(year)) // = 2013??? /obj/mecha/update_remote_sight(mob/living/user) if(occupant_sight_flags) if(user == occupant) - user.sight |= occupant_sight_flags \ No newline at end of file + user.sight |= occupant_sight_flags diff --git a/code/game/mecha/mecha_actions.dm b/code/game/mecha/mecha_actions.dm index ec6bd6e471..480c24b87f 100644 --- a/code/game/mecha/mecha_actions.dm +++ b/code/game/mecha/mecha_actions.dm @@ -244,7 +244,7 @@ owner.client.change_view(12) SEND_SOUND(owner, sound('sound/mecha/imag_enh.ogg',volume=50)) else - owner.client.change_view(world.view) //world.view - default mob view size + owner.client.change_view(CONFIG_GET(string/default_view)) //world.view - default mob view size UpdateButtonIcon() /datum/action/innate/mecha/mech_switch_damtype diff --git a/code/game/objects/structures/manned_turret.dm b/code/game/objects/structures/manned_turret.dm index 669abb792a..ceef3ef0c0 100644 --- a/code/game/objects/structures/manned_turret.dm +++ b/code/game/objects/structures/manned_turret.dm @@ -37,7 +37,7 @@ buckled_mob.pixel_x = 0 buckled_mob.pixel_y = 0 if(buckled_mob.client) - buckled_mob.client.change_view(world.view) + buckled_mob.client.change_view(CONFIG_GET(string/default_view)) anchored = FALSE . = ..() STOP_PROCESSING(SSfastprocess, src) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index bf12b3eb66..51fab684d1 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -651,10 +651,10 @@ Traitors and the like can also be revived with the previous role mostly intact. set name = "Change View Range" set desc = "switches between 1x and custom views" - if(view == world.view) + if(view == CONFIG_GET(string/default_view)) change_view(input("Select view range:", "FUCK YE", 7) in list(1,2,3,4,5,6,7,8,9,10,11,12,13,14,128)) else - change_view(world.view) + change_view(CONFIG_GET(string/default_view)) log_admin("[key_name(usr)] changed their view range to [view].") //message_admins("\blue [key_name_admin(usr)] changed their view range to [view].") //why? removed by order of XSI diff --git a/code/modules/clothing/spacesuits/flightsuit.dm b/code/modules/clothing/spacesuits/flightsuit.dm index 79886b1446..d7e13a1fd5 100644 --- a/code/modules/clothing/spacesuits/flightsuit.dm +++ b/code/modules/clothing/spacesuits/flightsuit.dm @@ -1100,7 +1100,7 @@ /obj/item/clothing/head/helmet/space/hardsuit/flightsuit/proc/toggle_zoom(mob/living/user, force_off = FALSE) if(zoom || force_off) - user.client.change_view(world.view) + user.client.change_view(CONFIG_GET(string/default_view)) to_chat(user, "Disabling smart zooming image enhancement...") zoom = FALSE return FALSE diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index bb4c0f559b..d19f3d4bf8 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -320,7 +320,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(mind.current.key && copytext(mind.current.key,1,2)!="@") //makes sure we don't accidentally kick any clients to_chat(usr, "Another consciousness is in your body...It is resisting you.") return - client.change_view(world.view) + client.change_view(CONFIG_GET(string/default_view)) SStgui.on_transfer(src, mind.current) // Transfer NanoUIs. mind.current.key = key return 1 @@ -456,7 +456,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set desc = "Change your view range." var/max_view = client.prefs.unlock_content ? GHOST_MAX_VIEW_RANGE_MEMBER : GHOST_MAX_VIEW_RANGE_DEFAULT - if(client.view == world.view) + if(client.view == CONFIG_GET(string/default_view)) var/list/views = list() for(var/i in 7 to max_view) views |= i @@ -464,7 +464,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(new_view) client.change_view(Clamp(new_view, 7, max_view)) else - client.change_view(world.view) + client.change_view(CONFIG_GET(string/default_view)) /mob/dead/observer/verb/add_view_range(input as num) set name = "Add View Range" diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index ed36e62492..47d5a0ffd8 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -817,7 +817,8 @@ return (GLOB.cameranet && GLOB.cameranet.checkTurfVis(get_turf_pixel(A))) || apc_override //AI is carded/shunted //view(src) returns nothing for carded/shunted AIs and they have x-ray vision so just use get_dist - return get_dist(src, A) <= client.view + var/list/viewscale = getviewsize(client.view) + return get_dist(src, A) <= max(viewscale[1]*0.5,viewscale[2]*0.5) /mob/living/silicon/ai/proc/relay_speech(message, atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode) raw_message = lang_treat(speaker, message_language, raw_message, spans, message_mode) diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index bed14bdff4..8f7c6e2cc6 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -39,7 +39,7 @@ if(client) client.click_intercept = null - client.change_view(world.view) // Resets the client.view in case it was changed. + client.change_view(CONFIG_GET(string/default_view)) // Resets the client.view in case it was changed. if(!GLOB.individual_log_list[ckey]) GLOB.individual_log_list[ckey] = logging diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 7596d890e0..1c5f0a3375 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -335,7 +335,7 @@ buckled_mob.pixel_x = 0 buckled_mob.pixel_y = 0 if(buckled_mob.client) - buckled_mob.client.change_view(world.view) + buckled_mob.client.change_view(CONFIG_GET(string/default_view)) auto.Remove(buckled_mob) . = ..() diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 085c618c42..f6435a954c 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -500,7 +500,7 @@ user.client.pixel_x = world.icon_size*_x user.client.pixel_y = world.icon_size*_y else - user.client.change_view(world.view) + user.client.change_view(CONFIG_GET(string/default_view)) user.client.pixel_x = 0 user.client.pixel_y = 0 return zoomed diff --git a/code/modules/projectiles/guns/beam_rifle.dm b/code/modules/projectiles/guns/beam_rifle.dm index a88e271056..77e9ddeeb8 100644 --- a/code/modules/projectiles/guns/beam_rifle.dm +++ b/code/modules/projectiles/guns/beam_rifle.dm @@ -179,7 +179,7 @@ zoom_animating = 0 animate(current_user.client, pixel_x = 0, pixel_y = 0, 0, FALSE, LINEAR_EASING, ANIMATION_END_NOW) zoom_current_view_increase = 0 - current_user.client.change_view(world.view) + current_user.client.change_view(CONFIG_GET(string/default_view)) zooming_angle = 0 current_zoom_x = 0 current_zoom_y = 0 diff --git a/code/modules/shuttle/navigation_computer.dm b/code/modules/shuttle/navigation_computer.dm index dd27d40e91..cedebc8edb 100644 --- a/code/modules/shuttle/navigation_computer.dm +++ b/code/modules/shuttle/navigation_computer.dm @@ -69,7 +69,7 @@ var/mob/camera/aiEye/remote/shuttle_docker/the_eye = eyeobj user.client.images -= the_eye.placement_images user.client.images -= the_eye.placed_images - user.client.change_view(world.view) + user.client.change_view(CONFIG_GET(string/default_view)) /obj/machinery/computer/camera_advanced/shuttle_docker/proc/placeLandingSpot() if(!checkLandingSpot()) diff --git a/config/config.txt b/config/config.txt index a05e463f45..fb648a5fa9 100644 --- a/config/config.txt +++ b/config/config.txt @@ -386,3 +386,10 @@ DISABLE_HIGH_POP_MC_MODE_AMOUNT 60 ## Uncomment to set the number of /world/Reboot()s before the DreamDaemon restarts itself. 0 means restart every round. Requires tgstation server tools. #ROUNDS_UNTIL_HARD_RESTART 10 + + +##Default screen resolution, in tiles. +## By default, this is 15x15, which gets simplified to 7 by BYOND, as it is a 1:1 screen ratio. +## For reference, Goonstation uses a resolution of 21x15 for it's widescreen mode. +## Do note that changing this value will affect the title screen. The title screen will have to be updated manually if this is changed. +DEFAULT_VIEW 15x15 From a7425b5843a0848272f2999c2044f3dd042f227a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 8 Dec 2017 11:18:25 -0600 Subject: [PATCH 107/134] Automatic changelog generation for PR #4261 [ci skip] --- html/changelogs/AutoChangeLog-pr-4261.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4261.yml diff --git a/html/changelogs/AutoChangeLog-pr-4261.yml b/html/changelogs/AutoChangeLog-pr-4261.yml new file mode 100644 index 0000000000..d7b0bcebf5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4261.yml @@ -0,0 +1,4 @@ +author: "Fox McCloud" +delete-after: True +changes: + - tweak: "Slime blueprints can now make an area compatible with Xenobio consoles, regardless of the name of the new area" From bc4b689d564d5986d1b6742792368e98abcf93d1 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Fri, 8 Dec 2017 12:23:03 -0500 Subject: [PATCH 108/134] Update medical.dm --- .../structures/crates_lockers/closets/secure/medical.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index dfd9ac8153..5402abdfee 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -73,11 +73,7 @@ new /obj/item/device/autosurgeon/cmo(src) new /obj/item/door_remote/chief_medical_officer(src) new /obj/item/clothing/neck/petcollar(src) -<<<<<<< HEAD -======= new /obj/item/pet_carrier(src) - new /obj/item/circuitboard/machine/protolathe/department/medical(src) ->>>>>>> 6e8401e... Adds pet carriers (#33231) /obj/structure/closet/secure_closet/animal name = "animal control" From 8961c8c369413357572e34862d20fc88d7db0a3c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 8 Dec 2017 11:31:17 -0600 Subject: [PATCH 109/134] Automatic changelog generation for PR #4264 [ci skip] --- html/changelogs/AutoChangeLog-pr-4264.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4264.yml diff --git a/html/changelogs/AutoChangeLog-pr-4264.yml b/html/changelogs/AutoChangeLog-pr-4264.yml new file mode 100644 index 0000000000..3a3b5c1f42 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4264.yml @@ -0,0 +1,5 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - rscadd: "You now can get a medal for wasting hours talking to the secret debug tile." + - bugfix: "Fixed runtime for the tile when poly's speech file doesn't exist." From 17bb149cd129a6ec0edf44e71ca0a34223644f43 Mon Sep 17 00:00:00 2001 From: Dax Dupont Date: Fri, 8 Dec 2017 19:07:42 +0100 Subject: [PATCH 110/134] Fixes observer versions of sillicon chat (#33355) --- code/modules/mob/living/silicon/say.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm index 77ce3fc18f..785d55e5f4 100644 --- a/code/modules/mob/living/silicon/say.dm +++ b/code/modules/mob/living/silicon/say.dm @@ -10,14 +10,14 @@ var/mob/living/silicon/S = src desig = trim_left(S.designation + " " + S.job) var/message_a = say_quote(message, get_spans()) - var/rendered = "Robotic Talk, [name] [message_a]" + var/rendered = "Robotic Talk, [name] [message_a]" for(var/mob/M in GLOB.player_list) if(M.binarycheck()) if(isAI(M)) var/renderedAI = "Robotic Talk, [name] ([desig]) [message_a]" to_chat(M, renderedAI) else - to_chat(M, rendered) + to_chat(M, "[rendered]") if(isobserver(M)) var/following = src // If the AI talks on binary chat, we still want to follow @@ -26,7 +26,7 @@ var/mob/living/silicon/ai/ai = src following = ai.eyeobj var/link = FOLLOW_LINK(M, following) - to_chat(M, "[link] [rendered]") + to_chat(M, "[link] [rendered]") /mob/living/silicon/binarycheck() return 1 From 623a1051698424f0a80eed1e5586163fc737d1b8 Mon Sep 17 00:00:00 2001 From: duncathan salt Date: Fri, 8 Dec 2017 12:06:51 -0600 Subject: [PATCH 112/134] hopefully optimizes process_cell() a touch (#33329) * hopeful optimizations + code cleanup to process_cell() and lindaturftile * minor fixes * break and right paren * extraneous define --- .../environmental/LINDA_turf_tile.dm | 145 ++++++++---------- 1 file changed, 62 insertions(+), 83 deletions(-) diff --git a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm index 5ef9469295..f2d1a241f2 100644 --- a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm +++ b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm @@ -7,7 +7,7 @@ //list of open turfs adjacent to us var/list/atmos_adjacent_turfs //bitfield of dirs in which we are superconducitng - var/atmos_supeconductivity = 0 + var/atmos_supeconductivity = NONE //used to determine whether we should archive var/archived_cycle = 0 @@ -25,8 +25,7 @@ var/pressure_direction = 0 var/datum/excited_group/excited_group - var/excited = 0 - var/recently_active = 0 + var/excited = FALSE var/datum/gas_mixture/turf/air var/obj/effect/hotspot/active_hotspot @@ -54,10 +53,10 @@ /turf/open/assume_air(datum/gas_mixture/giver) //use this for machines to adjust air if(!giver) - return 0 + return FALSE air.merge(giver) update_visuals() - return 1 + return TRUE /turf/open/remove_air(amount) var/datum/gas_mixture/ours = return_air() @@ -83,7 +82,7 @@ /turf/temperature_expose() if(temperature > heat_capacity) - to_be_destroyed = 1 + to_be_destroyed = TRUE /turf/proc/archive() temperature_archived = temperature @@ -102,7 +101,7 @@ #if DM_VERSION >= 513 #warning 512 is stable now for sure, remove the old code #endif - + #if DM_VERSION >= 512 if (atmos_overlay_types) for(var/overlay in atmos_overlay_types-new_overlay_types) //doesn't remove overlays that would only be added @@ -175,64 +174,48 @@ for(var/t in adjacent_turfs) var/turf/open/enemy_tile = t - if(fire_count > enemy_tile.current_cycle) - enemy_tile.archive() + if(fire_count <= enemy_tile.current_cycle) + continue + enemy_tile.archive() - /******************* GROUP HANDLING START *****************************************************************/ + /******************* GROUP HANDLING START *****************************************************************/ - var/should_share_air = FALSE - var/datum/gas_mixture/enemy_air = enemy_tile.air - if(enemy_tile.excited) - //cache for sanic speed - var/datum/excited_group/enemy_excited_group = enemy_tile.excited_group - if(our_excited_group) - if(enemy_excited_group) - if(our_excited_group != enemy_excited_group) - //combine groups (this also handles updating the excited_group var of all involved turfs) - our_excited_group.merge_groups(enemy_excited_group) - our_excited_group = excited_group //update our cache - should_share_air = TRUE - else - if((recently_active == 1 && enemy_tile.recently_active == 1) || our_air.compare(enemy_air)) - our_excited_group.add_turf(enemy_tile) //add enemy to our group - should_share_air = TRUE + var/should_share_air = FALSE + var/datum/gas_mixture/enemy_air = enemy_tile.air + + //cache for sanic speed + var/datum/excited_group/enemy_excited_group = enemy_tile.excited_group + + if(our_excited_group && enemy_excited_group) + if(our_excited_group != enemy_excited_group) + //combine groups (this also handles updating the excited_group var of all involved turfs) + our_excited_group.merge_groups(enemy_excited_group) + our_excited_group = excited_group //update our cache + should_share_air = TRUE + + else if(our_air.compare(enemy_air)) + if(!enemy_tile.excited) + SSair.add_to_active(enemy_tile) + var/datum/excited_group/EG = our_excited_group || enemy_excited_group || new + if(!our_excited_group) + EG.add_turf(src) + if(!enemy_excited_group) + EG.add_turf(enemy_tile) + our_excited_group = excited_group + should_share_air = TRUE + + //air sharing + if(should_share_air) + var/difference = our_air.share(enemy_air, adjacent_turfs_length) + if(difference) + if(difference > 0) + consider_pressure_difference(enemy_tile, difference) else - if(enemy_excited_group) - if((recently_active == 1 && enemy_tile.recently_active == 1) || our_air.compare(enemy_air)) - enemy_excited_group.add_turf(src) //join self to enemy group - our_excited_group = excited_group //update our cache - should_share_air = TRUE - else - if((recently_active == 1 && enemy_tile.recently_active == 1) || our_air.compare(enemy_air)) - var/datum/excited_group/EG = new //generate new group - EG.add_turf(src) - EG.add_turf(enemy_tile) - our_excited_group = excited_group //update our cache - should_share_air = TRUE - else - if(our_air.compare(enemy_air)) //compare if - SSair.add_to_active(enemy_tile) //excite enemy - if(our_excited_group) - our_excited_group.add_turf(enemy_tile) //add enemy to group - else - var/datum/excited_group/EG = new //generate new group - EG.add_turf(src) - EG.add_turf(enemy_tile) - our_excited_group = excited_group //update our cache - should_share_air = TRUE - - //air sharing - if(should_share_air) - var/difference = our_air.share(enemy_air, adjacent_turfs_length) - if(difference) - if(difference > 0) - consider_pressure_difference(enemy_tile, difference) - else - enemy_tile.consider_pressure_difference(src, -difference) - LAST_SHARE_CHECK + enemy_tile.consider_pressure_difference(src, -difference) + LAST_SHARE_CHECK - /******************* GROUP HANDLING FINISH *********************************************************************/ + /******************* GROUP HANDLING FINISH *********************************************************************/ if (planet_atmos) //share our air with the "atmosphere" "above" the turf var/datum/gas_mixture/G = new @@ -250,12 +233,8 @@ update_visuals() - var/remove = TRUE - if(our_air.temperature > MINIMUM_TEMPERATURE_START_SUPERCONDUCTION) - if(consider_superconductivity(starting = 1)) - remove = FALSE - - if ((!our_excited_group && remove) || (cached_atmos_cooldown > (EXCITED_GROUP_DISMANTLE_CYCLES * 2))) + if((!our_excited_group && !(our_air.temperature > MINIMUM_TEMPERATURE_START_SUPERCONDUCTION && consider_superconductivity(starting = TRUE))) \ + || (cached_atmos_cooldown > (EXCITED_GROUP_DISMANTLE_CYCLES * 2))) SSair.remove_from_active(src) atmos_cooldown = cached_atmos_cooldown @@ -279,9 +258,9 @@ var/const/PROBABILITY_OFFSET = 25 var/const/PROBABILITY_BASE_PRECENT = 75 set waitfor = 0 - . = 0 + . = FALSE if (!anchored && !pulledby) - . = 1 + . = TRUE if (last_high_pressure_movement_air_cycle < SSair.times_fired) var/move_prob = 100 if (pressure_resistance > 0) @@ -304,7 +283,6 @@ /datum/excited_group/proc/add_turf(turf/open/T) turf_list += T T.excited_group = src - T.recently_active = 1 reset_cooldowns() /datum/excited_group/proc/merge_groups(datum/excited_group/E) @@ -328,25 +306,27 @@ dismantle_cooldown = 0 //argument is so world start can clear out any turf differences quickly. -/datum/excited_group/proc/self_breakdown(space_is_all_consuming = 0) +/datum/excited_group/proc/self_breakdown(space_is_all_consuming = FALSE) var/datum/gas_mixture/A = new //make local for sanic speed var/list/A_gases = A.gases var/list/turf_list = src.turf_list var/turflen = turf_list.len - var/space_in_group = 0 + var/space_in_group = FALSE for(var/t in turf_list) var/turf/open/T = t if (space_is_all_consuming && !space_in_group && istype(T.air, /datum/gas_mixture/immutable/space)) - space_in_group = 1 + space_in_group = TRUE qdel(A) - A = new/datum/gas_mixture/immutable/space() + A = new /datum/gas_mixture/immutable/space() + A_gases = A.gases //update the cache + break A.merge(T.air) for(var/id in A_gases) - A_gases[id][MOLES] = A_gases[id][MOLES]/turflen + A_gases[id][MOLES] /= turflen for(var/t in turf_list) var/turf/open/T = t @@ -359,8 +339,7 @@ /datum/excited_group/proc/dismantle() for(var/t in turf_list) var/turf/open/T = t - T.excited = 0 - T.recently_active = 0 + T.excited = FALSE T.excited_group = null SSair.active_turfs -= T garbage_collect() @@ -432,7 +411,7 @@ //Make sure still hot enough to continue conducting heat if(temp < MINIMUM_TEMPERATURE_FOR_SUPERCONDUCTION) SSair.active_super_conductivity -= src - return 0 + return FALSE /turf/open/finish_superconduction() //Conduct with air on my tile if I have it @@ -442,21 +421,21 @@ /turf/proc/consider_superconductivity() if(!thermal_conductivity) - return 0 + return FALSE SSair.active_super_conductivity |= src - return 1 + return TRUE /turf/open/consider_superconductivity(starting) if(air.temperature < (starting?MINIMUM_TEMPERATURE_START_SUPERCONDUCTION:MINIMUM_TEMPERATURE_FOR_SUPERCONDUCTION)) - return 0 + return FALSE if(air.heat_capacity() < M_CELL_WITH_RATIO) // Was: MOLES_CELLSTANDARD*0.1*0.05 Since there are no variables here we can make this a constant. - return 0 + return FALSE return ..() /turf/closed/consider_superconductivity(starting) if(temperature < (starting?MINIMUM_TEMPERATURE_START_SUPERCONDUCTION:MINIMUM_TEMPERATURE_FOR_SUPERCONDUCTION)) - return 0 + return FALSE return ..() /turf/proc/radiate_to_spess() //Radiate excess tile heat to space @@ -465,7 +444,7 @@ if((heat_capacity > 0) && (abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)) var/heat = thermal_conductivity*delta_temperature* \ - (heat_capacity*700000/(heat_capacity+700000)) //700000 is the heat_capacity from a space turf, hardcoded here + (heat_capacity*HEAT_CAPACITY_VACUUM/(heat_capacity+HEAT_CAPACITY_VACUUM)) temperature -= heat/heat_capacity /turf/open/proc/temperature_share_open_to_solid(turf/sharer) From 7aac99d4d7fccbcb3ff9ccbc8b00c9e68e3b24b2 Mon Sep 17 00:00:00 2001 From: ACCount Date: Fri, 8 Dec 2017 21:09:06 +0300 Subject: [PATCH 114/134] Fixes air alarm gas thresholds being impossible to change (#33359) --- code/modules/atmospherics/machinery/airalarm.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index efe45f4e84..952ee0e068 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -356,6 +356,9 @@ . = TRUE if("threshold") var/env = params["env"] + if(text2path(env)) + env = text2path(env) + var/name = params["var"] var/datum/tlv/tlv = TLV[env] if(isnull(tlv)) From 111cb9e5b0d8aad63e82778286b00d2d73c54ab2 Mon Sep 17 00:00:00 2001 From: ACCount Date: Fri, 8 Dec 2017 21:10:23 +0300 Subject: [PATCH 116/134] Fixes random in random seeds (#33362) * Fixes random in random seeds * removed kwargs --- code/modules/hydroponics/grown/random.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/hydroponics/grown/random.dm b/code/modules/hydroponics/grown/random.dm index 4ba2451a5a..8f25eff215 100644 --- a/code/modules/hydroponics/grown/random.dm +++ b/code/modules/hydroponics/grown/random.dm @@ -16,9 +16,9 @@ randomize_stats() ..() if(prob(60)) - add_random_reagents() + add_random_reagents(1, 3) if(prob(50)) - add_random_traits() + add_random_traits(1, 2) add_random_plant_type(35) /obj/item/reagent_containers/food/snacks/grown/random From dfaa796fc2b9b7eda98da1d870e89e8914ce62fb Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Fri, 8 Dec 2017 13:12:21 -0500 Subject: [PATCH 118/134] Fixes certain material containers --- code/datums/components/material_container.dm | 2 +- code/game/mecha/mech_fabricator.dm | 2 +- code/modules/research/circuitprinter.dm | 5 +++++ code/modules/research/protolathe.dm | 5 +++++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm index 5e989005be..b33cee4059 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -58,7 +58,7 @@ return . = COMPONENT_NO_AFTERATTACK var/datum/callback/pc = precondition - if(pc && !pc.Invoke()) + if(pc && !pc.Invoke(user)) return var/material_amount = get_item_material_amount(I) if(!material_amount) diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 11d111befc..a9029efc81 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -36,7 +36,7 @@ /obj/machinery/mecha_part_fabricator/Initialize() var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, - list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), + list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), 0, FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) materials.precise_insertion = TRUE return ..() diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index 2e8c47231d..af03ebd8b6 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -27,10 +27,15 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). "Computer Parts" ) +<<<<<<< HEAD var/datum/component/material_container/materials /obj/machinery/r_n_d/circuit_imprinter/Initialize() materials = AddComponent(/datum/component/material_container, list(MAT_GLASS, MAT_GOLD, MAT_DIAMOND, MAT_METAL, MAT_BLUESPACE), +======= +/obj/machinery/rnd/circuit_imprinter/Initialize() + materials = AddComponent(/datum/component/material_container, list(MAT_GLASS, MAT_GOLD, MAT_DIAMOND, MAT_METAL, MAT_BLUESPACE), 0, +>>>>>>> 09ec914... Fixes certain material containers (#33370) FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) materials.precise_insertion = TRUE create_reagents(0) diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index a675f1e550..11e949dca7 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -33,8 +33,13 @@ Note: Must be placed west/left of and R&D console to function. /obj/machinery/r_n_d/protolathe/Initialize() create_reagents(0) +<<<<<<< HEAD var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), +======= + materials = AddComponent(/datum/component/material_container, + list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), 0, +>>>>>>> 09ec914... Fixes certain material containers (#33370) FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) materials.precise_insertion = TRUE return ..() From 513a15f4638284e237538923396bc500cf9cecb9 Mon Sep 17 00:00:00 2001 From: Dax Dupont Date: Fri, 8 Dec 2017 19:24:35 +0100 Subject: [PATCH 119/134] Prevents grilles from magically regenerating (#33357) --- code/game/objects/structures/grille.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 45aa4a0889..009bbcd70e 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -26,7 +26,7 @@ update_icon() /obj/structure/grille/update_icon() - if(QDELETED(src)) + if(QDELETED(src) || broken) return var/ratio = obj_integrity / max_integrity From 32cfebfee7e0295bd2e16040a5a77aacf0aba64b Mon Sep 17 00:00:00 2001 From: deathride58 Date: Fri, 8 Dec 2017 13:41:26 -0500 Subject: [PATCH 121/134] Update circuitprinter.dm --- code/modules/research/circuitprinter.dm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index af03ebd8b6..582efaa474 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -27,15 +27,10 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). "Computer Parts" ) -<<<<<<< HEAD var/datum/component/material_container/materials /obj/machinery/r_n_d/circuit_imprinter/Initialize() - materials = AddComponent(/datum/component/material_container, list(MAT_GLASS, MAT_GOLD, MAT_DIAMOND, MAT_METAL, MAT_BLUESPACE), -======= -/obj/machinery/rnd/circuit_imprinter/Initialize() materials = AddComponent(/datum/component/material_container, list(MAT_GLASS, MAT_GOLD, MAT_DIAMOND, MAT_METAL, MAT_BLUESPACE), 0, ->>>>>>> 09ec914... Fixes certain material containers (#33370) FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) materials.precise_insertion = TRUE create_reagents(0) From d1490a18ed52545476410918758d44a7a073da1f Mon Sep 17 00:00:00 2001 From: deathride58 Date: Fri, 8 Dec 2017 13:42:41 -0500 Subject: [PATCH 122/134] Update protolathe.dm --- code/modules/research/protolathe.dm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index 11e949dca7..b4412556c5 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -30,16 +30,13 @@ Note: Must be placed west/left of and R&D console to function. "Computer Parts" ) + var/datum/component/material_container/materials + /obj/machinery/r_n_d/protolathe/Initialize() create_reagents(0) -<<<<<<< HEAD - var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, - list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), -======= materials = AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), 0, ->>>>>>> 09ec914... Fixes certain material containers (#33370) FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) materials.precise_insertion = TRUE return ..() From 6c774d7798253718bebfce2b864b0f1dfa6f97a2 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Fri, 8 Dec 2017 13:43:33 -0500 Subject: [PATCH 123/134] Update mech_fabricator.dm --- code/game/mecha/mech_fabricator.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index a9029efc81..59aad6154f 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -34,8 +34,10 @@ "Misc" ) + var/datum/component/material_container/materials + /obj/machinery/mecha_part_fabricator/Initialize() - var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, + materials = AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), 0, FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) materials.precise_insertion = TRUE From aae7c6f5c92cf2bc48d753cc4d2a41be5ab1c1d5 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 8 Dec 2017 12:44:36 -0600 Subject: [PATCH 124/134] Automatic changelog generation for PR #4274 [ci skip] --- html/changelogs/AutoChangeLog-pr-4274.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4274.yml diff --git a/html/changelogs/AutoChangeLog-pr-4274.yml b/html/changelogs/AutoChangeLog-pr-4274.yml new file mode 100644 index 0000000000..b1915f089b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4274.yml @@ -0,0 +1,4 @@ +author: "Dax Dupont" +delete-after: True +changes: + - bugfix: "Fixed observer chat flavor of silicon chat." From 7c1eca23b97b740779c5280f03e1e1109c209f2a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 8 Dec 2017 12:46:10 -0600 Subject: [PATCH 125/134] Automatic changelog generation for PR #4260 [ci skip] --- html/changelogs/AutoChangeLog-pr-4260.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4260.yml diff --git a/html/changelogs/AutoChangeLog-pr-4260.yml b/html/changelogs/AutoChangeLog-pr-4260.yml new file mode 100644 index 0000000000..1880edb973 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4260.yml @@ -0,0 +1,4 @@ +author: "Xhuis" +delete-after: True +changes: + - rscadd: "You can now make pet carriers from the autolathe, to carry around chef meat and other small animals without having to drag them. The HoP, captain, and CMO also start with carriers in their lockers for their pets." From 19a54d3289435621800b6153558a99b873441358 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 8 Dec 2017 12:47:02 -0600 Subject: [PATCH 126/134] Automatic changelog generation for PR #4267 [ci skip] --- html/changelogs/AutoChangeLog-pr-4267.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4267.yml diff --git a/html/changelogs/AutoChangeLog-pr-4267.yml b/html/changelogs/AutoChangeLog-pr-4267.yml new file mode 100644 index 0000000000..97e3a17b9a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4267.yml @@ -0,0 +1,4 @@ +author: "MrDoomBringer" +delete-after: True +changes: + - imageadd: "All stations have been outfitted with brand new Smoke Machines! They have nicer sprites now!" From bca8dd78f1e6880da8ce3b28d38504b3610afe52 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 8 Dec 2017 12:47:24 -0600 Subject: [PATCH 127/134] Automatic changelog generation for PR #4266 [ci skip] --- html/changelogs/AutoChangeLog-pr-4266.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4266.yml diff --git a/html/changelogs/AutoChangeLog-pr-4266.yml b/html/changelogs/AutoChangeLog-pr-4266.yml new file mode 100644 index 0000000000..e66348d5b4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4266.yml @@ -0,0 +1,5 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - bugfix: "Fixed the camera failure, race swap, cursed items, and imposter wizard random events" + - tweak: "The cursed items event no longer nullspaces items" From 3a445a07856694b9d1b412d2fba6643625ddee21 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 8 Dec 2017 12:47:58 -0600 Subject: [PATCH 128/134] Automatic changelog generation for PR #4270 [ci skip] --- html/changelogs/AutoChangeLog-pr-4270.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4270.yml diff --git a/html/changelogs/AutoChangeLog-pr-4270.yml b/html/changelogs/AutoChangeLog-pr-4270.yml new file mode 100644 index 0000000000..06c99c93ee --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4270.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - config: "The default view range can now be defined in the config. The default is 15x15, which is simplified to 7 by BYOND. For reference, Goonstation's widescreen range is 21x15. Do note that changing this value will affect the title screen. The title screen images and the title screen area on the Centcom z-level will have to be updated if the default view range is changed." From f79534045c527933553f158e5a9f49077cff011f Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 8 Dec 2017 12:55:02 -0600 Subject: [PATCH 129/134] Automatic changelog generation for PR #4176 [ci skip] --- html/changelogs/AutoChangeLog-pr-4176.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4176.yml diff --git a/html/changelogs/AutoChangeLog-pr-4176.yml b/html/changelogs/AutoChangeLog-pr-4176.yml new file mode 100644 index 0000000000..76ccbf0925 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4176.yml @@ -0,0 +1,8 @@ +author: "Toriate" +delete-after: True +changes: + - rscadd: "Added Lavaknights, a new ghost role of cat people in knight armor." + - rscadd: "Added Hypereutactic blades, NEBs on steroids." + - tweak: "Made NEBs alt click to recolor +wip: Added lavaknight spawners. Someone else needs to add it in to a map or ruin properly." + - imageadd: "added sprites for hypereutactic blades" From d37599a0c5ad5589728a3663a6941d19a713aecc Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 8 Dec 2017 13:06:49 -0600 Subject: [PATCH 130/134] Automatic changelog generation for PR #4279 [ci skip] --- html/changelogs/AutoChangeLog-pr-4279.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4279.yml diff --git a/html/changelogs/AutoChangeLog-pr-4279.yml b/html/changelogs/AutoChangeLog-pr-4279.yml new file mode 100644 index 0000000000..cddc887068 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4279.yml @@ -0,0 +1,4 @@ +author: "Dax Dupont" +delete-after: True +changes: + - bugfix: "Grilles now no longer revert to a pre-broken icon state when you hit them after they broke." From 4600a6eb87e013839837626b4de192222a831ef1 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Fri, 8 Dec 2017 14:07:33 -0500 Subject: [PATCH 131/134] Update drinks.dm --- code/modules/food_and_drinks/drinks/drinks.dm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index 4c19843a21..7217fe0b28 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -440,15 +440,9 @@ list_reagents = list("lemon_lime" = 30) foodtype = FRUIT -<<<<<<< HEAD -/obj/item/reagent_containers/food/drinks/soda_cans/lemon_lime/New() - ..() - name = "Lemon-Lime Soda" -======= /obj/item/reagent_containers/food/drinks/soda_cans/lemon_lime/Initialize() . = ..() name = "lemon-lime soda" ->>>>>>> eddf889... Merge pull request #33341 from ShizCalev/31-bottles-of-beer /obj/item/reagent_containers/food/drinks/soda_cans/space_up name = "Space-Up!" From a08586b850b33881037a269e3650be593d0b7220 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Fri, 8 Dec 2017 14:35:30 -0500 Subject: [PATCH 132/134] fixes compiling errors --- modular_citadel/citadel_ghostrole_spawners.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modular_citadel/citadel_ghostrole_spawners.dm b/modular_citadel/citadel_ghostrole_spawners.dm index 0b3797b88b..b0cddbd594 100644 --- a/modular_citadel/citadel_ghostrole_spawners.dm +++ b/modular_citadel/citadel_ghostrole_spawners.dm @@ -2,7 +2,7 @@ name = "odd cryogenics pod" desc = "A humming cryo pod. You can barely recognise a faint glow underneath the built up ice. The machine is attempting to wake up its occupant." mob_name = "a displaced knight from another dimension" - icon = 'icons/obj/cryogenic2.dmi' + icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" roundstart = FALSE death = FALSE @@ -40,4 +40,4 @@ You cannot remember where you came from. However, a few things remain burnt into your mind, most prominently a vow to never harm another sapient being under any circumstances unless it is hellbent on ending your life. \ Remember: hostile creatures and such are fair game for attacking, but under no circumstances are you to attack anything capable of thought and/or speech unless it has made it its life's calling to chase you to the ends of the earth. \ You feel a natural instict to lead, and as such, you should strive to lead your comrades to safety, and hopefully home. You also feel a burning determination to uphold your vow, as well as your fellow comrade's." - l_pocket = /obj/item/twohanded/hypereutactic \ No newline at end of file + l_pocket = /obj/item/twohanded/hypereutactic From 811517ecb2484b1694adfebd726d9322e3aa646f Mon Sep 17 00:00:00 2001 From: Kyle Spier-Swenson Date: Fri, 8 Dec 2017 13:02:34 -0800 Subject: [PATCH 133/134] [ready]Timer queuing tweaks: binary sorted inserts and rolling buckets. (#33098) * Timer queuing tweaks: binary sorted inserts and rolling buckets. Client time timers now uses a binary search algorithm for its sorted inserts. Processing now uses a binary sorted insert, rather then sorting it with sortTim during bucket_shifts. Buckets now automatically wrap around rather then get regenerated every minute. (Rolling queue) * Fixes some queue management bugs. * Fixes a Order of Operations goof up in the ticks<->ds macros. @ninjanomnom your pain is my success * Remove debug line * Fixes some binary insert bugs, fixes client time timers, moved id over to GUID * Fixes initialization-time timers fucking everything up --- code/__DEFINES/time.dm | 4 +- code/controllers/subsystem/timer.dm | 301 ++++++++++++++++++---------- 2 files changed, 202 insertions(+), 103 deletions(-) diff --git a/code/__DEFINES/time.dm b/code/__DEFINES/time.dm index 987d52e0cd..8bc4d039f6 100644 --- a/code/__DEFINES/time.dm +++ b/code/__DEFINES/time.dm @@ -22,6 +22,6 @@ When using time2text(), please use "DDD" to find the weekday. Refrain from using #define TICKS *world.tick_lag -#define DS2TICKS(DS) (DS/world.tick_lag) +#define DS2TICKS(DS) ((DS)/world.tick_lag) -#define TICKS2DS(T) (T TICKS) \ No newline at end of file +#define TICKS2DS(T) ((T) TICKS) \ No newline at end of file diff --git a/code/controllers/subsystem/timer.dm b/code/controllers/subsystem/timer.dm index 3a2ca82bcd..f24068dbff 100644 --- a/code/controllers/subsystem/timer.dm +++ b/code/controllers/subsystem/timer.dm @@ -1,5 +1,6 @@ #define BUCKET_LEN (world.fps*1*60) //how many ticks should we keep in the bucket. (1 minutes worth) -#define BUCKET_POS(timer) (round((timer.timeToRun - SStimer.head_offset) / world.tick_lag) + 1) +#define BUCKET_POS(timer) ((round((timer.timeToRun - SStimer.head_offset) / world.tick_lag) % BUCKET_LEN) + 1) +#define TIMER_MAX (world.time + TICKS2DS(min(BUCKET_LEN-(SStimer.practical_offset-DS2TICKS(world.time - SStimer.head_offset))-1, BUCKET_LEN-1))) #define TIMER_ID_MAX (2**24) //max float with integer precision SUBSYSTEM_DEF(timer) @@ -9,11 +10,11 @@ SUBSYSTEM_DEF(timer) flags = SS_TICKER|SS_NO_INIT - var/list/datum/timedevent/processing = list() + var/list/datum/timedevent/second_queue = list() //awe, yes, you've had first queue, but what about second queue? var/list/hashes = list() var/head_offset = 0 //world.time of the first entry in the the bucket. - var/practical_offset = 0 //index of the first non-empty item in the bucket. + var/practical_offset = 1 //index of the first non-empty item in the bucket. var/bucket_resolution = 0 //world.tick_lag the bucket was designed for var/bucket_count = 0 //how many timers are in the buckets @@ -27,13 +28,19 @@ SUBSYSTEM_DEF(timer) var/static/last_invoke_warning = 0 var/static/bucket_auto_reset = TRUE +/datum/controller/subsystem/timer/PreInit() + bucket_list.len = BUCKET_LEN + head_offset = world.time + bucket_resolution = world.tick_lag + /datum/controller/subsystem/timer/stat_entry(msg) - ..("B:[bucket_count] P:[length(processing)] H:[length(hashes)] C:[length(clienttime_timers)]") + ..("B:[bucket_count] P:[length(second_queue)] H:[length(hashes)] C:[length(clienttime_timers)] S:[length(timer_id_dict)]") /datum/controller/subsystem/timer/fire(resumed = FALSE) var/lit = last_invoke_tick var/last_check = world.time - TIMER_NO_INVOKE_WARNING var/list/bucket_list = src.bucket_list + if(!bucket_count) last_invoke_tick = world.time @@ -60,50 +67,62 @@ SUBSYSTEM_DEF(timer) bucket_node = bucket_node.next anti_loop_check-- while(bucket_node && bucket_node != bucket_head && anti_loop_check) - log_world("Active timers in the processing queue:") - for(var/I in processing) + log_world("Active timers in the second_queue queue:") + for(var/I in second_queue) log_world(get_timer_debug_string(I)) - while(length(clienttime_timers)) - var/datum/timedevent/ctime_timer = clienttime_timers[clienttime_timers.len] - if (ctime_timer.timeToRun <= REALTIMEOFDAY) - --clienttime_timers.len - var/datum/callback/callBack = ctime_timer.callBack - ctime_timer.spent = REALTIMEOFDAY - callBack.InvokeAsync() - qdel(ctime_timer) - else - break //None of the rest are ready to run + var/next_clienttime_timer_index = 0 + var/len = length(clienttime_timers) + + for (next_clienttime_timer_index in 1 to len) if (MC_TICK_CHECK) - return + next_clienttime_timer_index-- + break + var/datum/timedevent/ctime_timer = clienttime_timers[next_clienttime_timer_index] + if (ctime_timer.timeToRun > REALTIMEOFDAY) + next_clienttime_timer_index-- + break + + var/datum/callback/callBack = ctime_timer.callBack + if (!callBack) + clienttime_timers.Cut(next_clienttime_timer_index,next_clienttime_timer_index+1) + CRASH("Invalid timer: [get_timer_debug_string(ctime_timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset], REALTIMEOFDAY: [REALTIMEOFDAY]") + + ctime_timer.spent = REALTIMEOFDAY + callBack.InvokeAsync() + qdel(ctime_timer) + + + if (next_clienttime_timer_index) + clienttime_timers.Cut(1,next_clienttime_timer_index+1) + + if (MC_TICK_CHECK) + return var/static/list/spent = list() var/static/datum/timedevent/timer - var/static/datum/timedevent/head + if (practical_offset > BUCKET_LEN) + head_offset += TICKS2DS(BUCKET_LEN) + practical_offset = 1 + resumed = FALSE - if (practical_offset > BUCKET_LEN || (!resumed && length(bucket_list) != BUCKET_LEN || world.tick_lag != bucket_resolution)) - shift_buckets() + if ((length(bucket_list) != BUCKET_LEN) || (world.tick_lag != bucket_resolution)) + reset_buckets() bucket_list = src.bucket_list resumed = FALSE if (!resumed) timer = null - head = null - while (practical_offset <= BUCKET_LEN && head_offset + (practical_offset*world.tick_lag) <= world.time && !MC_TICK_CHECK) + while (practical_offset <= BUCKET_LEN && head_offset + (practical_offset*world.tick_lag) <= world.time) + var/datum/timedevent/head = bucket_list[practical_offset] if (!timer || !head || timer == head) head = bucket_list[practical_offset] - if (!head) - practical_offset++ - if (MC_TICK_CHECK) - break - continue timer = head - do + while (timer) var/datum/callback/callBack = timer.callBack if (!callBack) - qdel(timer) bucket_resolution = null //force bucket recreation CRASH("Invalid timer: [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]") @@ -113,15 +132,68 @@ SUBSYSTEM_DEF(timer) callBack.InvokeAsync() last_invoke_tick = world.time - timer = timer.next - if (MC_TICK_CHECK) return - while (timer && timer != head) - timer = null + + timer = timer.next + if (timer == head) + break + + bucket_list[practical_offset++] = null - if (MC_TICK_CHECK) - return + + //we freed up a bucket, lets see if anything in second_queue needs to be shifted to that bucket. + var/i = 0 + var/L = length(second_queue) + for (i in 1 to L) + timer = second_queue[i] + if (timer.timeToRun >= TIMER_MAX) + i-- + break + + if (timer.timeToRun < head_offset) + bucket_resolution = null //force bucket recreation + CRASH("[i] Invalid timer state: Timer in long run queue with a time to run less then head_offset. [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]") + + if (timer.callBack && !timer.spent) + timer.callBack.InvokeAsync() + spent += timer + bucket_count++ + else if(!QDELETED(timer)) + qdel(timer) + continue + + if (timer.timeToRun < head_offset + TICKS2DS(practical_offset)) + bucket_resolution = null //force bucket recreation + CRASH("[i] Invalid timer state: Timer in long run queue that would require a backtrack to transfer to short run queue. [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]") + if (timer.callBack && !timer.spent) + timer.callBack.InvokeAsync() + spent += timer + bucket_count++ + else if(!QDELETED(timer)) + qdel(timer) + continue + + bucket_count++ + var/bucket_pos = max(1, BUCKET_POS(timer)) + + var/datum/timedevent/bucket_head = bucket_list[bucket_pos] + if (!bucket_head) + bucket_list[bucket_pos] = timer + timer.next = null + timer.prev = null + continue + + if (!bucket_head.prev) + bucket_head.prev = bucket_head + timer.next = bucket_head + timer.prev = bucket_head.prev + timer.next.prev = timer + timer.prev.next = timer + if (i) + second_queue.Cut(1, i+1) + + timer = null bucket_count -= length(spent) @@ -141,7 +213,7 @@ SUBSYSTEM_DEF(timer) if(!TE.callBack) . += ", NO CALLBACK" -/datum/controller/subsystem/timer/proc/shift_buckets() +/datum/controller/subsystem/timer/proc/reset_buckets() var/list/bucket_list = src.bucket_list var/list/alltimers = list() //collect the timers currently in the bucket @@ -162,7 +234,7 @@ SUBSYSTEM_DEF(timer) head_offset = world.time bucket_resolution = world.tick_lag - alltimers += processing + alltimers += second_queue if (!length(alltimers)) return @@ -173,22 +245,26 @@ SUBSYSTEM_DEF(timer) if (head.timeToRun < head_offset) head_offset = head.timeToRun - var/list/timers_to_remove = list() - - for (var/thing in alltimers) - var/datum/timedevent/timer = thing + var/new_bucket_count + var/i = 1 + for (i in 1 to length(alltimers)) + var/datum/timedevent/timer = alltimers[1] if (!timer) - timers_to_remove += timer continue var/bucket_pos = BUCKET_POS(timer) - if (bucket_pos > BUCKET_LEN) + if (timer.timeToRun >= TIMER_MAX) + i-- break - timers_to_remove += timer //remove it from the big list once we are done + if (!timer.callBack || timer.spent) + WARNING("Invalid timer: [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]") + if (timer.callBack) + qdel(timer) continue - bucket_count++ + + new_bucket_count++ var/datum/timedevent/bucket_head = bucket_list[bucket_pos] if (!bucket_head) bucket_list[bucket_pos] = timer @@ -202,12 +278,14 @@ SUBSYSTEM_DEF(timer) timer.prev = bucket_head.prev timer.next.prev = timer timer.prev.next = timer - - processing = (alltimers - timers_to_remove) + if (i) + alltimers.Cut(1, i+1) + second_queue = alltimers + bucket_count = new_bucket_count /datum/controller/subsystem/timer/Recover() - processing |= SStimer.processing + second_queue |= SStimer.second_queue hashes |= SStimer.hashes timer_id_dict |= SStimer.timer_id_dict bucket_list |= SStimer.bucket_list @@ -224,8 +302,6 @@ SUBSYSTEM_DEF(timer) var/datum/timedevent/next var/datum/timedevent/prev - var/static/nextid = 1 - /datum/timedevent/New(datum/callback/callBack, timeToRun, flags, hash) id = TIMER_ID_NULL src.callBack = callBack @@ -235,56 +311,65 @@ SUBSYSTEM_DEF(timer) if (flags & TIMER_UNIQUE) SStimer.hashes[hash] = src + if (flags & TIMER_STOPPABLE) - do - if (nextid >= TIMER_ID_MAX) - nextid = 1 - id = nextid++ - while(SStimer.timer_id_dict["timerid" + num2text(id, 8)]) - SStimer.timer_id_dict["timerid" + num2text(id, 8)] = src + id = GUID() + SStimer.timer_id_dict[id] = src - name = "Timer: " + num2text(id, 8) + ", TTR: [timeToRun], Flags: [jointext(bitfield2list(flags, list("TIMER_UNIQUE", "TIMER_OVERRIDE", "TIMER_CLIENT_TIME", "TIMER_STOPPABLE", "TIMER_NO_HASH_WAIT")), ", ")], callBack: [REF(callBack)], callBack.object: [callBack.object][REF(callBack.object)]([getcallingtype()]), callBack.delegate:[callBack.delegate]([callBack.arguments ? callBack.arguments.Join(", ") : ""])" + name = "Timer: [id] (\ref[src]), TTR: [timeToRun], Flags: [jointext(bitfield2list(flags, list("TIMER_UNIQUE", "TIMER_OVERRIDE", "TIMER_CLIENT_TIME", "TIMER_STOPPABLE", "TIMER_NO_HASH_WAIT")), ", ")], callBack: \ref[callBack], callBack.object: [callBack.object]\ref[callBack.object]([getcallingtype()]), callBack.delegate:[callBack.delegate]([callBack.arguments ? callBack.arguments.Join(", ") : ""])" - if (spent) - CRASH("HOLY JESUS. WHAT IS THAT? WHAT THE FUCK IS THAT?") + if ((timeToRun < world.time || timeToRun < SStimer.head_offset) && !(flags & TIMER_CLIENT_TIME)) + CRASH("Invalid timer state: Timer created that would require a backtrack to run (addtimer would never let this happen): [SStimer.get_timer_debug_string(src)]") if (callBack.object != GLOBAL_PROC) LAZYADD(callBack.object.active_timers, src) + + var/list/L + if (flags & TIMER_CLIENT_TIME) - //sorted insert - var/list/ctts = SStimer.clienttime_timers - var/cttl = length(ctts) + L = SStimer.clienttime_timers + else if (timeToRun >= TIMER_MAX) + L = SStimer.second_queue + + + if (L) + //binary search sorted insert + var/cttl = length(L) if(cttl) - var/datum/timedevent/Last = ctts[cttl] - if(Last.timeToRun >= timeToRun) - ctts += src - else - for(var/i in cttl to 1 step -1) - var/datum/timedevent/E = ctts[i] - if(E.timeToRun <= timeToRun) - ctts.Insert(i, src) - break + var/left = 1 + var/right = cttl + var/mid = (left+right) >> 1 //rounded divide by two for hedgehogs + + var/datum/timedevent/item + while (left < right) + item = L[mid] + if (item.timeToRun <= timeToRun) + left = mid+1 + else + right = mid + mid = (left+right) >> 1 + + item = L[mid] + mid = item.timeToRun > timeToRun ? mid : mid+1 + L.Insert(mid, src) + else - ctts += src + L += src return //get the list of buckets var/list/bucket_list = SStimer.bucket_list + //calculate our place in the bucket list var/bucket_pos = BUCKET_POS(src) - //we are too far aways from needing to run to be in the bucket list, shift_buckets() will handle us. - if (bucket_pos > length(bucket_list)) - SStimer.processing += src - return + //get the bucket for our tick var/datum/timedevent/bucket_head = bucket_list[bucket_pos] SStimer.bucket_count++ //empty bucket, we will just add ourselves if (!bucket_head) bucket_list[bucket_pos] = src - if (bucket_pos < SStimer.practical_offset) - SStimer.practical_offset = bucket_pos return //other wise, lets do a simplified linked list add. if (!bucket_head.prev) @@ -296,10 +381,9 @@ SUBSYSTEM_DEF(timer) /datum/timedevent/Destroy() ..() - if (flags & TIMER_UNIQUE) + if (flags & TIMER_UNIQUE && hash) SStimer.hashes -= hash - if (callBack && callBack.object && callBack.object != GLOBAL_PROC && callBack.object.active_timers) callBack.object.active_timers -= src UNSETEMPTY(callBack.object.active_timers) @@ -307,13 +391,33 @@ SUBSYSTEM_DEF(timer) callBack = null if (flags & TIMER_STOPPABLE) - SStimer.timer_id_dict -= "timerid" + num2text(id, 8) + SStimer.timer_id_dict -= id if (flags & TIMER_CLIENT_TIME) - SStimer.clienttime_timers -= src + if (!spent) + spent = world.time + SStimer.clienttime_timers -= src return QDEL_HINT_IWILLGC if (!spent) + spent = world.time + var/bucketpos = BUCKET_POS(src) + var/datum/timedevent/buckethead + var/list/bucket_list = SStimer.bucket_list + if (bucketpos > 0) + buckethead = bucket_list[bucketpos] + + if (buckethead == src) + bucket_list[bucketpos] = next + SStimer.bucket_count-- + else if (timeToRun < TIMER_MAX || next || prev) + SStimer.bucket_count-- + else + var/l = length(SStimer.second_queue) + SStimer.second_queue -= src + if (l == length(SStimer.second_queue)) + SStimer.bucket_count-- + if (prev == next && next) next.prev = null prev.next = null @@ -322,19 +426,6 @@ SUBSYSTEM_DEF(timer) prev.next = next if (next) next.prev = prev - - var/bucketpos = BUCKET_POS(src) - var/datum/timedevent/buckethead - var/list/bucket_list = SStimer.bucket_list - - if (bucketpos > 0 && bucketpos <= length(bucket_list)) - buckethead = bucket_list[bucketpos] - SStimer.bucket_count-- - else - SStimer.processing -= src - - if (buckethead == src) - bucket_list[bucketpos] = next else if (prev && prev.next == src) prev.next = next @@ -351,9 +442,16 @@ SUBSYSTEM_DEF(timer) else . = "[callBack.object.type]" -/proc/addtimer(datum/callback/callback, wait, flags) +/proc/addtimer(datum/callback/callback, wait = 0, flags = 0) if (!callback) - return + CRASH("addtimer called without a callback") + + if (wait < 0) + stack_trace("Addtimer called with a negitive wait. Converting to 0") + + //alot of things add short timers on themselves in their destroy, we ignore those cases + if (wait >= 1 && callback && callback.object && callback.object != GLOBAL_PROC && QDELETED(callback.object)) + stack_trace("Add timer called with a callback assigned to a qdeleted object") wait = max(wait, 0) @@ -374,11 +472,10 @@ SUBSYSTEM_DEF(timer) var/datum/timedevent/hash_timer = SStimer.hashes[hash] if(hash_timer) if (hash_timer.spent) //it's pending deletion, pretend it doesn't exist. - hash_timer.hash = null - SStimer.hashes -= hash + hash_timer.hash = null //but keep it from accidentally deleting us else - if (flags & TIMER_OVERRIDE) + hash_timer.hash = null //no need having it delete it's hash if we are going to replace it qdel(hash_timer) else if (hash_timer.flags & TIMER_STOPPABLE) @@ -403,7 +500,7 @@ SUBSYSTEM_DEF(timer) qdel(id) return TRUE //id is string - var/datum/timedevent/timer = SStimer.timer_id_dict["timerid[id]"] + var/datum/timedevent/timer = SStimer.timer_id_dict[id] if (timer && !timer.spent) qdel(timer) return TRUE @@ -412,3 +509,5 @@ SUBSYSTEM_DEF(timer) #undef BUCKET_LEN #undef BUCKET_POS +#undef TIMER_MAX +#undef TIMER_ID_MAX \ No newline at end of file