From 7d1978fabeb2d400f0bf5723cfc0e114cb2a8f82 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 26 Sep 2019 18:53:11 -0400 Subject: [PATCH 01/28] added, left and right hands and feet and groin to list of cosmetic robotic surgeries --- code/modules/surgery/robotics.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm index 9ab290f5c89..7c388d25899 100644 --- a/code/modules/surgery/robotics.dm +++ b/code/modules/surgery/robotics.dm @@ -545,7 +545,7 @@ /datum/surgery/cybernetic_customization name = "Cybernetic Appearance Customization" steps = list(/datum/surgery_step/robotics/external/unscrew_hatch, /datum/surgery_step/robotics/external/customize_appearance) - possible_locs = list("head", "chest", "l_arm", "r_arm", "r_leg", "l_leg") + possible_locs = list("head", "chest", "l_arm", "l_hand", "r_arm", "r_hand", "r_leg", "r_foot", "l_leg", "l_foot", "groin") requires_organic_bodypart = FALSE /datum/surgery/cybernetic_customization/can_start(mob/user, mob/living/carbon/human/target) From 8b87bd529c892f9e5a321cb2b5f40dc4bc61dc87 Mon Sep 17 00:00:00 2001 From: Mars Date: Fri, 27 Sep 2019 17:44:06 +0200 Subject: [PATCH 02/28] Slight refactor of conscription kit --- code/datums/supplypacks.dm | 4 ++-- .../objects/items/weapons/storage/backpack.dm | 6 +++--- code/modules/mining/machine_vending.dm | 15 +++++---------- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 100f7f645ec..8e20ebb7a93 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -1422,7 +1422,7 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine name = "Shaft Miner Starter Kit" cost = 30 access = access_qm - contains = list(/obj/item/storage/backpack/duffel/mining_conscript/noid) + contains = list(/obj/item/storage/backpack/duffel/mining_conscript) containertype = /obj/structure/closet/crate/secure containername = "shaft miner starter kit" @@ -1951,4 +1951,4 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine name = "Chinese Supply Crate" contains = list(/obj/item/vending_refill/chinese) cost = 15 - containername = "chinese supply crate" \ No newline at end of file + containername = "chinese supply crate" diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 0fefed4323a..8e391c3b99a 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -359,11 +359,11 @@ new /obj/item/ammo_box/magazine/m12g/buckshot(src) new /obj/item/ammo_box/magazine/m12g/dragon(src) -/obj/item/storage/backpack/duffel/mining_conscript/noid +/obj/item/storage/backpack/duffel/mining_conscript/ name = "mining conscription kit" desc = "A kit containing everything a crewmember needs to support a shaft miner in the field." -/obj/item/storage/backpack/duffel/mining_conscript/noid/New() +/obj/item/storage/backpack/duffel/mining_conscript/New() ..() new /obj/item/pickaxe(src) new /obj/item/clothing/glasses/meson(src) @@ -371,7 +371,7 @@ new /obj/item/storage/bag/ore(src) new /obj/item/clothing/under/rank/miner/lavaland(src) new /obj/item/encryptionkey/headset_cargo(src) - new /obj/item/clothing/mask/gas(src) + new /obj/item/clothing/mask/gas/explorer(src) /obj/item/storage/backpack/duffel/syndie/ammo/smg diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index 8f85908a995..56f5d9282ba 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -36,7 +36,7 @@ new /datum/data/mining_equipment("Fulton Pack", /obj/item/extraction_pack, 1000), new /datum/data/mining_equipment("Lazarus Injector", /obj/item/lazarus_injector, 1000), new /datum/data/mining_equipment("Silver Pickaxe", /obj/item/pickaxe/silver, 1000), - new /datum/data/mining_equipment("Mining Conscription Kit", /obj/item/storage/backpack/duffel/mining_conscript, 1500), + new /datum/data/mining_equipment("Mining Conscription Kit", /obj/item/storage/backpack/duffel/mining_conscript/full, 1500), new /datum/data/mining_equipment("Jetpack Upgrade", /obj/item/tank/jetpack/suit, 2000), new /datum/data/mining_equipment("Mining Hardsuit", /obj/item/clothing/suit/space/hardsuit/mining, 2000), new /datum/data/mining_equipment("Diamond Pickaxe", /obj/item/pickaxe/diamond, 2000), @@ -235,7 +235,7 @@ new /obj/item/extinguisher/mini(drop_location) new /obj/item/twohanded/kinetic_crusher(drop_location) if("Mining Conscription Kit") - new /obj/item/storage/backpack/duffel/mining_conscript(drop_location) + new /obj/item/storage/backpack/duffel/mining_conscript/full(drop_location) qdel(voucher) @@ -293,19 +293,14 @@ to_chat(user, "You upgrade [I] with mining access.") qdel(src) -/obj/item/storage/backpack/duffel/mining_conscript +/obj/item/storage/backpack/duffel/mining_conscript/full name = "mining conscription kit" desc = "A kit containing everything a crewmember needs to support a shaft miner in the field." -/obj/item/storage/backpack/duffel/mining_conscript/New() +/obj/item/storage/backpack/duffel/mining_conscript/full/New() ..() - new /obj/item/clothing/glasses/meson(src) - new /obj/item/t_scanner/adv_mining_scanner/lesser(src) - new /obj/item/storage/bag/ore(src) new /obj/item/clothing/suit/hooded/explorer(src) - new /obj/item/encryptionkey/headset_cargo(src) - new /obj/item/clothing/mask/gas/explorer(src) new /obj/item/card/id/mining_access_card(src) new /obj/item/gun/energy/kinetic_accelerator(src) new /obj/item/kitchen/knife/combat/survival(src) - new /obj/item/flashlight/seclite(src) \ No newline at end of file + new /obj/item/flashlight/seclite(src) From 360c29008e866bbdb6f278b0e6bd2479c1ce61a7 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Fri, 27 Sep 2019 19:59:38 -0400 Subject: [PATCH 03/28] Minor Vehicle Refactor and Balance --- .../game/objects/effects/spawners/lootdrop.dm | 4 +- .../mining/lavaland/loot/tendril_loot.dm | 6 +- code/modules/vehicle/ambulance.dm | 2 +- code/modules/vehicle/atv.dm | 4 +- code/modules/vehicle/janicart.dm | 35 ++++--- code/modules/vehicle/secway.dm | 3 +- code/modules/vehicle/snowmobile.dm | 2 +- code/modules/vehicle/speedbike.dm | 1 - code/modules/vehicle/vehicle.dm | 99 +++++++++++++------ 9 files changed, 98 insertions(+), 58 deletions(-) diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 4dcd2cbdd32..f8abaa7a17e 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -348,8 +348,8 @@ return var/lootspawn = pickweight(loot) var/obj/vehicle/V = new lootspawn(get_turf(src)) - if(V.keytype) - new V.keytype(get_turf(src)) + if(V.key_type) + new V.key_type(get_turf(src)) qdel(src) diff --git a/code/modules/mining/lavaland/loot/tendril_loot.dm b/code/modules/mining/lavaland/loot/tendril_loot.dm index e5a2c94fa7d..ad936c35bf3 100644 --- a/code/modules/mining/lavaland/loot/tendril_loot.dm +++ b/code/modules/mining/lavaland/loot/tendril_loot.dm @@ -163,7 +163,7 @@ desc = "A boat used for traversing lava." icon_state = "goliath_boat" icon = 'icons/obj/lavaland/dragonboat.dmi' - keytype = /obj/item/oar + held_key_type = /obj/item/oar burn_state = LAVA_PROOF /obj/vehicle/lavaboat/relaymove(mob/user, direction) @@ -174,7 +174,7 @@ ..() else to_chat(user, "Boats don't go on land!") - return 0 + return FALSE /obj/item/oar name = "oar" @@ -218,7 +218,7 @@ /obj/vehicle/lavaboat/dragon name = "mysterious boat" desc = "This boat moves where you will it, without the need for an oar." - keytype = null + held_key_type = null icon_state = "dragon_boat" generic_pixel_y = 2 generic_pixel_x = 1 diff --git a/code/modules/vehicle/ambulance.dm b/code/modules/vehicle/ambulance.dm index 29fb4e0108f..91f333387fd 100644 --- a/code/modules/vehicle/ambulance.dm +++ b/code/modules/vehicle/ambulance.dm @@ -2,7 +2,7 @@ name = "ambulance" desc = "This is what the paramedic uses to run over people they need to take to medbay." icon_state = "docwagon2" - keytype = /obj/item/key/ambulance + key_type = /obj/item/key/ambulance var/obj/structure/bed/amb_trolley/bed = null var/datum/action/ambulance_alarm/AA var/datum/looping_sound/ambulance_alarm/soundloop diff --git a/code/modules/vehicle/atv.dm b/code/modules/vehicle/atv.dm index a78791fddea..1cfc47e53d8 100644 --- a/code/modules/vehicle/atv.dm +++ b/code/modules/vehicle/atv.dm @@ -3,10 +3,10 @@ desc = "An all-terrain vehicle built for traversing rough terrain with ease. One of the few old-earth technologies that are still relevant on most planet-bound outposts." icon = 'icons/vehicles/4wheeler.dmi' icon_state = "fourwheel" - keytype = /obj/item/key + key_type = /obj/item/key generic_pixel_x = 0 generic_pixel_y = 4 - vehicle_move_delay = 1 + vehicle_move_delay = 1.5 var/static/image/atvcover = null /obj/vehicle/atv/New() diff --git a/code/modules/vehicle/janicart.dm b/code/modules/vehicle/janicart.dm index 2445e983fd3..1a1855ba39d 100644 --- a/code/modules/vehicle/janicart.dm +++ b/code/modules/vehicle/janicart.dm @@ -3,9 +3,9 @@ name = "janicart (pimpin' ride)" desc = "A brave janitor cyborg gave its life to produce such an amazing combination of speed and utility." icon_state = "pussywagon" - keytype = /obj/item/key/janitor - var/obj/item/storage/bag/trash/mybag = null - var/floorbuffer = 0 + key_type = /obj/item/key/janitor + var/obj/item/storage/bag/trash/mybag + var/floorbuffer = FALSE /obj/vehicle/janicart/handle_vehicle_offsets() @@ -63,21 +63,20 @@ /obj/vehicle/janicart/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/storage/bag/trash)) - if(keytype == /obj/item/key/janitor) - if(!user.drop_item()) - return - to_chat(user, "You hook the trashbag onto \the [name].") - I.loc = src - mybag = I - else if(istype(I, /obj/item/janiupgrade)) - if(keytype == /obj/item/key/janitor) - floorbuffer = 1 - qdel(I) - to_chat(user,"You upgrade \the [name] with the floor buffer.") - update_icon() - - ..() - + if(!user.drop_item()) + return + to_chat(user, "You hook the trashbag onto \the [name].") + I.forceMove(src) + mybag = I + update_icon() + return + if(istype(I, /obj/item/janiupgrade)) + floorbuffer = TRUE + qdel(I) + to_chat(user,"You upgrade [src] with the floor buffer.") + update_icon() + return + return ..() /obj/vehicle/janicart/update_icon() overlays.Cut() diff --git a/code/modules/vehicle/secway.dm b/code/modules/vehicle/secway.dm index 4f7c0bf9cb2..2b7ae6ebd85 100644 --- a/code/modules/vehicle/secway.dm +++ b/code/modules/vehicle/secway.dm @@ -2,9 +2,10 @@ name = "secway" desc = "A brave security cyborg gave its life to help you look like a complete tool." icon_state = "secway" - keytype = /obj/item/key/security + key_type = /obj/item/key/security generic_pixel_x = 0 generic_pixel_y = 4 + vehicle_move_delay = 1.5 /obj/item/key/security diff --git a/code/modules/vehicle/snowmobile.dm b/code/modules/vehicle/snowmobile.dm index 311eb48c699..c4b8d7aefba 100644 --- a/code/modules/vehicle/snowmobile.dm +++ b/code/modules/vehicle/snowmobile.dm @@ -3,7 +3,7 @@ desc = "Wheeeeeeeeeeee." icon = 'icons/obj/vehicles.dmi' icon_state = "snowmobile" - keytype = /obj/item/key/snowmobile + key_type = /obj/item/key/snowmobile generic_pixel_x = 0 generic_pixel_y = 4 diff --git a/code/modules/vehicle/speedbike.dm b/code/modules/vehicle/speedbike.dm index e1efe63bcbd..0d3018c5452 100644 --- a/code/modules/vehicle/speedbike.dm +++ b/code/modules/vehicle/speedbike.dm @@ -3,7 +3,6 @@ icon = 'icons/obj/bike.dmi' icon_state = "speedbike_blue" layer = MOB_LAYER - 0.1 - keytype = null vehicle_move_delay = 0 var/overlay_state = "cover_blue" var/image/overlay = null diff --git a/code/modules/vehicle/vehicle.dm b/code/modules/vehicle/vehicle.dm index 9b3a747b7ff..edc6dc63a2e 100644 --- a/code/modules/vehicle/vehicle.dm +++ b/code/modules/vehicle/vehicle.dm @@ -9,8 +9,12 @@ can_buckle = TRUE buckle_lying = FALSE armor = list("melee" = 30, "bullet" = 30, "laser" = 30, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0) - var/keytype = null //item typepath, if non-null an item of this type is needed in your hands to drive this vehicle - var/next_vehicle_move = 0 //used for move delays + var/key_type + var/held_key_type //Similar to above, but the vehicle needs the key in hands as opposed to inserted into the ignition + var/obj/item/key/inserted_key + var/key_type_exact = TRUE //can subtypes work + var/last_vehicle_move = 0 //used for move delays + var/last_move_diagonal = FALSE var/vehicle_move_delay = 2 //tick delay between movements, lower = faster, higher = slower var/auto_door_open = TRUE var/needs_gravity = 0 //To allow non-space vehicles to move in no gravity or not, mostly for adminbus @@ -20,10 +24,56 @@ var/spaceworthy = FALSE -/obj/vehicle/New() - ..() +/obj/vehicle/Initialize(mapload) + . = ..() handle_vehicle_layer() +/obj/vehicle/Destroy() + QDEL_NULL(inserted_key) + return ..() + +/obj/vehicle/examine(mob/user) + . = ..() + if(key_type) + if(!inserted_key) + . += "Put a key inside it by clicking it with the key." + else + . += "Alt-click [src] to remove the key." + +/obj/vehicle/attackby(obj/item/I, mob/user, params) + if(key_type && !is_key(inserted_key) && is_key(I)) + if(user.drop_item()) + I.forceMove(src) + to_chat(user, "You insert [I] into [src].") + if(inserted_key) //just in case there's an invalid key + inserted_key.forceMove(drop_location()) + inserted_key = I + else + to_chat(user, "[I] seems to be stuck to your hand!") + return + return ..() + +/obj/vehicle/AltClick(mob/user) + if(inserted_key && user.Adjacent(user)) + if(!(user in buckled_mobs)) + to_chat(user, "You must be riding [src] to remove [src]'s key!") + return + to_chat(user, "You remove [inserted_key] from [src].") + inserted_key.forceMove(drop_location()) + user.put_in_hands(inserted_key) + inserted_key = null + return ..() + +/obj/vehicle/proc/is_key(obj/item/I) + return I ? (key_type_exact ? (I.type == key_type) : istype(I, key_type)) : FALSE + +/obj/vehicle/proc/held_keycheck(mob/user) + if(held_key_type) + if(istype(user.l_hand, held_key_type) || istype(user.r_hand, held_key_type)) + return TRUE + else + return TRUE + return FALSE //APPEARANCE /obj/vehicle/proc/handle_vehicle_layer() @@ -49,15 +99,6 @@ return -//KEYS -/obj/vehicle/proc/keycheck(mob/user) - if(keytype) - if(istype(user.l_hand, keytype) || istype(user.r_hand, keytype)) - return TRUE - else - return TRUE - return FALSE - /obj/item/key name = "key" desc = "A small grey key." @@ -93,25 +134,30 @@ //MOVEMENT /obj/vehicle/relaymove(mob/user, direction) + if(key_type && !is_key(inserted_key)) + to_chat(user, "[src] has no key inserted!") + return + if(user.incapacitated()) unbuckle_mob(user) return - if(world.time < next_vehicle_move) + if(world.time < last_vehicle_move + ((last_move_diagonal? 2 : 1) * (vehicle_move_delay + config.human_delay))) return - next_vehicle_move = world.time + vehicle_move_delay - if(keycheck(user)) + last_vehicle_move = world.time + + if(held_keycheck(user)) + var/turf/next = get_step(src, direction) if(!Process_Spacemove(direction) || !isturf(loc)) return step(src, direction) - if(has_buckled_mobs()) - for(var/m in buckled_mobs) - var/mob/living/buckled_mob = m - if(buckled_mob.loc != loc) - buckled_mob.buckled = null //Temporary, so Move() succeeds. - buckled_mob.buckled = src //Restoring + if((direction & (direction - 1)) && (loc == next)) //moved diagonally + last_move_diagonal = TRUE + else + last_move_diagonal = FALSE + if(has_buckled_mobs()) if(issimulatedturf(loc)) var/turf/simulated/T = loc if(T.wet == TURF_WET_LUBE) //Lube! Fall off! @@ -125,20 +171,15 @@ handle_vehicle_layer() handle_vehicle_offsets() else - to_chat(user, "You'll need the keys in one of your hands to drive \the [name].") + to_chat(user, "You'll need the keys in one of your hands to drive [src].") -/obj/vehicle/Move(NewLoc,Dir=0,step_x=0,step_y=0) +/obj/vehicle/Move(NewLoc, Dir = 0, step_x = 0, step_y = 0) . = ..() handle_vehicle_layer() handle_vehicle_offsets() -/obj/vehicle/attackby(obj/item/I, mob/user, params) - if(keytype && istype(I, keytype)) - to_chat(user, "Hold [I] in one of your hands while you drive \the [name].") - - /obj/vehicle/Bump(atom/movable/M) if(!spaceworthy && isspaceturf(get_turf(src))) return FALSE From 71ec6419d676d888713735d12528aebfe2fd1b27 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Fri, 27 Sep 2019 20:36:16 -0400 Subject: [PATCH 04/28] fixes and icon --- code/modules/vehicle/ambulance.dm | 2 +- code/modules/vehicle/atv.dm | 22 ++++++++++------------ code/modules/vehicle/janicart.dm | 17 ++++++++++------- code/modules/vehicle/motorcycle.dm | 14 +++++--------- code/modules/vehicle/speedbike.dm | 11 +++++------ code/modules/vehicle/sportscar.dm | 13 +++++-------- icons/vehicles/4wheeler.dmi | Bin 2250 -> 1529 bytes 7 files changed, 36 insertions(+), 43 deletions(-) diff --git a/code/modules/vehicle/ambulance.dm b/code/modules/vehicle/ambulance.dm index 91f333387fd..7b4797c6fe3 100644 --- a/code/modules/vehicle/ambulance.dm +++ b/code/modules/vehicle/ambulance.dm @@ -7,7 +7,7 @@ var/datum/action/ambulance_alarm/AA var/datum/looping_sound/ambulance_alarm/soundloop -/obj/vehicle/ambulance/New() +/obj/vehicle/ambulance/Initialize(mapload) . = ..() AA = new(src) soundloop = new(list(src), FALSE) diff --git a/code/modules/vehicle/atv.dm b/code/modules/vehicle/atv.dm index 1cfc47e53d8..1dfb844b8cb 100644 --- a/code/modules/vehicle/atv.dm +++ b/code/modules/vehicle/atv.dm @@ -2,18 +2,16 @@ name = "all-terrain vehicle" desc = "An all-terrain vehicle built for traversing rough terrain with ease. One of the few old-earth technologies that are still relevant on most planet-bound outposts." icon = 'icons/vehicles/4wheeler.dmi' - icon_state = "fourwheel" + icon_state = "atv" key_type = /obj/item/key generic_pixel_x = 0 generic_pixel_y = 4 vehicle_move_delay = 1.5 - var/static/image/atvcover = null + var/static/mutable_appearance/atvcover -/obj/vehicle/atv/New() - ..() - if(!atvcover) - atvcover = image("icons/vehicles/4wheeler.dmi", "4wheeler_north") - atvcover.layer = MOB_LAYER + 0.1 +/obj/vehicle/atv/Initialize(mapload) + . = ..() + atvcover = mutable_appearance(icon, atvcover, ABOVE_MOB_LAYER) /obj/vehicle/atv/post_buckle_mob(mob/living/M) add_overlay(atvcover) @@ -26,7 +24,7 @@ /obj/vehicle/atv/handle_vehicle_layer() if(dir == SOUTH) - layer = MOB_LAYER+0.1 + layer = ABOVE_MOB_LAYER else layer = OBJ_LAYER @@ -40,20 +38,20 @@ emp_vulnerable = 1 density = 0 -/obj/vehicle/atv/turret/New() - ..() +/obj/vehicle/atv/turret/Initialize(mapload) + . = ..() turret = new(loc) //turret.base = src /obj/vehicle/atv/turret/handle_vehicle_layer() if(dir == SOUTH) - layer = MOB_LAYER+0.1 + layer = ABOVE_MOB_LAYER else layer = OBJ_LAYER if(turret) if(dir == NORTH) - turret.layer = MOB_LAYER+0.1 + turret.layer = ABOVE_MOB_LAYER else turret.layer = OBJ_LAYER diff --git a/code/modules/vehicle/janicart.dm b/code/modules/vehicle/janicart.dm index 1a1855ba39d..319d2338128 100644 --- a/code/modules/vehicle/janicart.dm +++ b/code/modules/vehicle/janicart.dm @@ -7,6 +7,9 @@ var/obj/item/storage/bag/trash/mybag var/floorbuffer = FALSE +/obj/vehicle/janicart/Destroy() + QDEL_NULL(mybag) + return ..() /obj/vehicle/janicart/handle_vehicle_offsets() ..() @@ -65,7 +68,7 @@ if(istype(I, /obj/item/storage/bag/trash)) if(!user.drop_item()) return - to_chat(user, "You hook the trashbag onto \the [name].") + to_chat(user, "You hook [I] onto [src].") I.forceMove(src) mybag = I update_icon() @@ -73,24 +76,24 @@ if(istype(I, /obj/item/janiupgrade)) floorbuffer = TRUE qdel(I) - to_chat(user,"You upgrade [src] with the floor buffer.") + to_chat(user,"You upgrade [src] with [I].") update_icon() return return ..() /obj/vehicle/janicart/update_icon() - overlays.Cut() + cut_overlays() if(mybag) - overlays += "cart_garbage" + add_overlay("cart_garbage") if(floorbuffer) - overlays += "cart_buffer" + add_overlay("cart_buffer") /obj/vehicle/janicart/attack_hand(mob/user) if(..()) - return 1 + return TRUE else if(mybag) - mybag.loc = get_turf(user) + mybag.forceMove(get_turf(user)) user.put_in_hands(mybag) mybag = null update_icon() \ No newline at end of file diff --git a/code/modules/vehicle/motorcycle.dm b/code/modules/vehicle/motorcycle.dm index a79f8e3fa12..ea165c1c8df 100644 --- a/code/modules/vehicle/motorcycle.dm +++ b/code/modules/vehicle/motorcycle.dm @@ -6,15 +6,11 @@ generic_pixel_x = 0 generic_pixel_y = 4 vehicle_move_delay = 1 - var/static/image/bikecover = null - - -/obj/vehicle/motorcycle/New() - ..() - if(!bikecover) - bikecover = image("icons/vehicles/motorcycle.dmi", "motorcycle_overlay_4d") - bikecover.layer = MOB_LAYER + 0.1 + var/mutable_appearance/bikecover +/obj/vehicle/motorcycle/Initialize(mapload) + . = ..() + bikecover = mutable_appearance(icon, "motorcycle_overlay_4d", ABOVE_MOB_LAYER) /obj/vehicle/motorcycle/post_buckle_mob(mob/living/M) add_overlay(bikecover) @@ -28,6 +24,6 @@ /obj/vehicle/motorcycle/handle_vehicle_layer() if(dir == SOUTH) - layer = MOB_LAYER+0.1 + layer = ABOVE_MOB_LAYER else layer = OBJ_LAYER \ No newline at end of file diff --git a/code/modules/vehicle/speedbike.dm b/code/modules/vehicle/speedbike.dm index 0d3018c5452..75e25c2c5e6 100644 --- a/code/modules/vehicle/speedbike.dm +++ b/code/modules/vehicle/speedbike.dm @@ -5,13 +5,12 @@ layer = MOB_LAYER - 0.1 vehicle_move_delay = 0 var/overlay_state = "cover_blue" - var/image/overlay = null + var/mutable_appearance/overlay -/obj/vehicle/space/speedbike/New() - ..() - overlay = image("icons/obj/bike.dmi", overlay_state) - overlay.layer = MOB_LAYER + 0.1 - overlays += overlay +/obj/vehicle/space/speedbike/Initialize(mapload) + . = ..() + overlay = mutable_appearance(icon, overlay_state, ABOVE_MOB_LAYER) + add_overlay(overlay) /obj/vehicle/space/speedbike/Move(newloc,move_dir) if(has_buckled_mobs()) diff --git a/code/modules/vehicle/sportscar.dm b/code/modules/vehicle/sportscar.dm index f52f4b77a92..0f9543d4811 100644 --- a/code/modules/vehicle/sportscar.dm +++ b/code/modules/vehicle/sportscar.dm @@ -6,14 +6,11 @@ generic_pixel_x = 0 generic_pixel_y = 4 vehicle_move_delay = 1 - var/static/image/carcover = null + var/mutable_appearance/carcover - -/obj/vehicle/car/New() - ..() - if(!carcover) - carcover = image("icons/vehicles/sportscar.dmi", "sportscar_cover") - carcover.layer = MOB_LAYER + 0.1 +/obj/vehicle/car/Initialize(mapload) + . = ..() + carcover = mutable_appearance(icon, "sportscar_cover", ABOVE_MOB_LAYER) /obj/vehicle/car/post_buckle_mob(mob/living/M) add_overlay(carcover) @@ -46,6 +43,6 @@ /obj/vehicle/car/handle_vehicle_layer() if(dir == SOUTH) - layer = MOB_LAYER+0.1 + layer = ABOVE_MOB_LAYER else layer = OBJ_LAYER \ No newline at end of file diff --git a/icons/vehicles/4wheeler.dmi b/icons/vehicles/4wheeler.dmi index 0378b865fd306532f9491005a90cce0dac07d0cf..e1bfd5e18fd04ef0db04a6932af23099b272ebf7 100644 GIT binary patch delta 1476 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 Date: Fri, 27 Sep 2019 20:45:01 -0400 Subject: [PATCH 05/28] remove ribs and skull from unbreakable limbs --- code/modules/surgery/organs/subtypes/unbreakable.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/surgery/organs/subtypes/unbreakable.dm b/code/modules/surgery/organs/subtypes/unbreakable.dm index 327a25de405..245629ba26e 100644 --- a/code/modules/surgery/organs/subtypes/unbreakable.dm +++ b/code/modules/surgery/organs/subtypes/unbreakable.dm @@ -1,5 +1,6 @@ /obj/item/organ/external/chest/unbreakable cannot_break = TRUE + encased = null /obj/item/organ/external/groin/unbreakable cannot_break = TRUE @@ -30,6 +31,7 @@ /obj/item/organ/external/head/unbreakable cannot_break = TRUE + encased = null // Cannot dismember or break /obj/item/organ/external/chest/unbreakable/sturdy From 30bbc23b22c75a295242e6827645688180803773 Mon Sep 17 00:00:00 2001 From: Pidgey <35320204+PidgeyThePirate@users.noreply.github.com> Date: Sat, 28 Sep 2019 11:56:21 +1000 Subject: [PATCH 06/28] Issue #12331 - Stops bluespace anomaly from teleporting ghosts. (#12433) --- code/modules/events/anomaly_bluespace.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/modules/events/anomaly_bluespace.dm b/code/modules/events/anomaly_bluespace.dm index a8f11681577..c0d0472026f 100644 --- a/code/modules/events/anomaly_bluespace.dm +++ b/code/modules/events/anomaly_bluespace.dm @@ -43,9 +43,10 @@ var/y_distance = TO.y - FROM.y var/x_distance = TO.x - FROM.x for(var/atom/movable/A in range(12, FROM )) // iterate thru list of mobs in the area - if(istype(A, /obj/item/radio/beacon)) continue // don't teleport beacons because that's just insanely stupid - if(A.anchored) continue - + if(istype(A, /obj/item/radio/beacon)) // don't teleport beacons because that's just insanely stupid + continue + if(A.anchored || A.move_resist == INFINITY) + continue var/turf/newloc = locate(A.x + x_distance, A.y + y_distance, TO.z) // calculate the new place if(!A.Move(newloc)) // if the atom, for some reason, can't move, FORCE them to move! :) We try Move() first to invoke any movement-related checks the atom needs to perform after moving A.loc = locate(A.x + x_distance, A.y + y_distance, TO.z) From d4fce9086863e625f95c097302619397cd550249 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 27 Sep 2019 21:56:24 -0400 Subject: [PATCH 07/28] Automatic changelog generation for PR #12433 [ci skip] --- html/changelogs/AutoChangeLog-pr-12433.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12433.yml diff --git a/html/changelogs/AutoChangeLog-pr-12433.yml b/html/changelogs/AutoChangeLog-pr-12433.yml new file mode 100644 index 00000000000..ae53494a9a0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12433.yml @@ -0,0 +1,4 @@ +author: "PidgeyThePirate" +delete-after: True +changes: + - tweak: "bluespace anomalies no longer teleport ghosts when their event fires." From d63ac45319bd4a94fd989eee56481a42791b788f Mon Sep 17 00:00:00 2001 From: Pidgey <35320204+PidgeyThePirate@users.noreply.github.com> Date: Sat, 28 Sep 2019 11:56:53 +1000 Subject: [PATCH 08/28] Issue #12408 - Fixes drones requiring all-access to reboot. (#12431) --- code/modules/mob/living/silicon/robot/drone/drone.dm | 2 +- code/modules/mob/living/silicon/robot/robot.dm | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 0f3422f237a..edf53f56918 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -13,7 +13,7 @@ braintype = "Robot" lawupdate = 0 density = 0 - req_access = list(access_engine, access_robotics) + req_one_access = list(access_engine, access_robotics) ventcrawler = 2 magpulse = 1 mob_size = MOB_SIZE_SMALL diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 900705733ba..76023c7ac63 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -65,7 +65,8 @@ var/list/robot_verbs_default = list( var/wiresexposed = 0 var/locked = 1 - var/list/req_access = list(access_robotics) + var/list/req_one_access = list(access_robotics) + var/list/req_access var/ident = 0 //var/list/laws = list() var/alarms = list("Motion"=list(), "Fire"=list(), "Atmosphere"=list(), "Power"=list(), "Camera"=list()) @@ -891,6 +892,7 @@ var/list/robot_verbs_default = list( /mob/living/silicon/robot/proc/allowed(obj/item/I) var/obj/dummy = new /obj(null) // Create a dummy object to check access on as to avoid having to snowflake check_access on every mob dummy.req_access = req_access + dummy.req_one_access = req_one_access if(dummy.check_access(I)) qdel(dummy) @@ -1302,7 +1304,7 @@ var/list/robot_verbs_default = list( designation = "SpecOps" lawupdate = 0 scrambledcodes = 1 - req_access = list(access_cent_specops) + req_one_access = list(access_cent_specops) ionpulse = 1 magpulse = 1 pdahide = 1 @@ -1352,7 +1354,7 @@ var/list/robot_verbs_default = list( designation = "ERT" lawupdate = 0 scrambledcodes = 1 - req_access = list(access_cent_specops) + req_one_access = list(access_cent_specops) ionpulse = 1 force_modules = list("Engineering", "Medical", "Security") From 9f2ee00f15dae0b2296bb1ca2827850f4542e55d Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 27 Sep 2019 21:56:55 -0400 Subject: [PATCH 09/28] Automatic changelog generation for PR #12431 [ci skip] --- html/changelogs/AutoChangeLog-pr-12431.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12431.yml diff --git a/html/changelogs/AutoChangeLog-pr-12431.yml b/html/changelogs/AutoChangeLog-pr-12431.yml new file mode 100644 index 00000000000..af6524de08a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12431.yml @@ -0,0 +1,4 @@ +author: "PidgeyThePirate" +delete-after: True +changes: + - bugfix: "Rebooting a drone no longer requires both engineering and robotics access." From 967b8288ff3cb852974676bb904e0248935e9e57 Mon Sep 17 00:00:00 2001 From: Pidgey <35320204+PidgeyThePirate@users.noreply.github.com> Date: Sat, 28 Sep 2019 12:20:33 +1000 Subject: [PATCH 10/28] Reduces slime damage mod to 150% from 250%. --- code/modules/mob/living/carbon/human/species/slime.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/species/slime.dm b/code/modules/mob/living/carbon/human/species/slime.dm index 0b4080d6851..99d72018049 100644 --- a/code/modules/mob/living/carbon/human/species/slime.dm +++ b/code/modules/mob/living/carbon/human/species/slime.dm @@ -20,7 +20,7 @@ cold_level_3 = 200 coldmod = 3 - brain_mod = 2.5 + brain_mod = 1.5 male_cough_sounds = list('sound/effects/slime_squish.ogg') female_cough_sounds = list('sound/effects/slime_squish.ogg') From e96c0b834228efce0055b934a69461b42bfb544d Mon Sep 17 00:00:00 2001 From: variableundefined <40092670+variableundefined@users.noreply.github.com> Date: Fri, 27 Sep 2019 21:27:04 -0700 Subject: [PATCH 11/28] Manual Changelog Compile 9/27/2019 (#12447) --- html/changelog.html | 12 ++++++++++++ html/changelogs/.all_changelog.yml | 9 +++++++++ html/changelogs/AutoChangeLog-pr-12431.yml | 4 ---- html/changelogs/AutoChangeLog-pr-12432.yml | 4 ---- html/changelogs/AutoChangeLog-pr-12433.yml | 4 ---- html/changelogs/AutoChangeLog-pr-12435.yml | 4 ---- 6 files changed, 21 insertions(+), 16 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-12431.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12432.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12433.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12435.yml diff --git a/html/changelog.html b/html/changelog.html index d40cde16a74..da4e463abca 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,18 @@ -->
+

27 September 2019

+

PidgeyThePirate updated:

+
    +
  • Rebooting a drone no longer requires both engineering and robotics access.
  • +
  • fixed a rare glitch in which a guardian that is killed instantly (i.e by a wand of death) may draw its charge into null space.
  • +
  • bluespace anomalies no longer teleport ghosts when their event fires.
  • +
+

SteelSlayer updated:

+
    +
  • Fixes round-start autotraitors not getting their objectives and uplink codes
  • +
+

26 September 2019

AzuleUtama updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index cbc77462782..fcd46e104d0 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -11583,3 +11583,12 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - bugfix: Morphs examine text now stays true to the humanoid target they choose. - tweak: Cult constructs now show their examine text when you're next to it. Instead of on top of it. +2019-09-27: + PidgeyThePirate: + - bugfix: Rebooting a drone no longer requires both engineering and robotics access. + - bugfix: fixed a rare glitch in which a guardian that is killed instantly (i.e + by a wand of death) may draw its charge into null space. + - tweak: bluespace anomalies no longer teleport ghosts when their event fires. + SteelSlayer: + - bugfix: Fixes round-start autotraitors not getting their objectives and uplink + codes diff --git a/html/changelogs/AutoChangeLog-pr-12431.yml b/html/changelogs/AutoChangeLog-pr-12431.yml deleted file mode 100644 index af6524de08a..00000000000 --- a/html/changelogs/AutoChangeLog-pr-12431.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "PidgeyThePirate" -delete-after: True -changes: - - bugfix: "Rebooting a drone no longer requires both engineering and robotics access." diff --git a/html/changelogs/AutoChangeLog-pr-12432.yml b/html/changelogs/AutoChangeLog-pr-12432.yml deleted file mode 100644 index ac1ff133849..00000000000 --- a/html/changelogs/AutoChangeLog-pr-12432.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "PidgeyThePirate" -delete-after: True -changes: - - bugfix: "fixed a rare glitch in which a guardian that is killed instantly (i.e by a wand of death) may draw its charge into null space." diff --git a/html/changelogs/AutoChangeLog-pr-12433.yml b/html/changelogs/AutoChangeLog-pr-12433.yml deleted file mode 100644 index ae53494a9a0..00000000000 --- a/html/changelogs/AutoChangeLog-pr-12433.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "PidgeyThePirate" -delete-after: True -changes: - - tweak: "bluespace anomalies no longer teleport ghosts when their event fires." diff --git a/html/changelogs/AutoChangeLog-pr-12435.yml b/html/changelogs/AutoChangeLog-pr-12435.yml deleted file mode 100644 index a7b6cfbe085..00000000000 --- a/html/changelogs/AutoChangeLog-pr-12435.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SteelSlayer" -delete-after: True -changes: - - bugfix: "Fixes round-start autotraitors not getting their objectives and uplink codes" From ca5a552dec94285bab144e25b3f0d5b5b9ebb3ef Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sat, 28 Sep 2019 02:31:10 -0400 Subject: [PATCH 12/28] red ones do go faster --- .../research/xenobiology/xenobiology.dm | 30 +++++++++++++------ code/modules/vehicle/atv.dm | 2 +- code/modules/vehicle/secway.dm | 2 +- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index f7798df7892..eacbd00ee5d 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -354,19 +354,31 @@ icon_state = "bottle3" origin_tech = "biotech=5" -/obj/item/slimepotion/speed/afterattack(obj/item/C, mob/user, proximity_flag) +/obj/item/slimepotion/speed/afterattack(obj/O, mob/user, proximity_flag) if(!proximity_flag) return ..() - if(!istype(C)) - to_chat(user, "The potion can only be used on items!") + if(!istype(O)) + to_chat(user, "The potion can only be used on items or vehicles!") return - if(C.slowdown <= 0) - to_chat(user, "[C] can't be made any faster!") - return..() - to_chat(user, "You slather the red gunk over [C], making it faster.") - C.color = "#FF0000" - C.slowdown = 0 + if(isitem(O)) + var/obj/item/I = O + if(I.slowdown <= 0) + to_chat(user, "[I] can't be made any faster!") + return ..() + I.slowdown = 0 + + if(istype(O, /obj/vehicle)) + var/obj/vehicle/V = O + var/vehicle_speed_mod = config.run_speed + if(V.vehicle_move_delay <= vehicle_speed_mod) + to_chat(user, "[V] can't be made any faster!") + return ..() + V.vehicle_move_delay = vehicle_speed_mod + + to_chat(user, "You slather the red gunk over [O], making it faster.") + O.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) + O.add_atom_colour("#FF0000", FIXED_COLOUR_PRIORITY) qdel(src) /obj/item/slimepotion/speed/MouseDrop(obj/over_object) diff --git a/code/modules/vehicle/atv.dm b/code/modules/vehicle/atv.dm index 1dfb844b8cb..bd81553dbd7 100644 --- a/code/modules/vehicle/atv.dm +++ b/code/modules/vehicle/atv.dm @@ -6,7 +6,7 @@ key_type = /obj/item/key generic_pixel_x = 0 generic_pixel_y = 4 - vehicle_move_delay = 1.5 + vehicle_move_delay = 1 var/static/mutable_appearance/atvcover /obj/vehicle/atv/Initialize(mapload) diff --git a/code/modules/vehicle/secway.dm b/code/modules/vehicle/secway.dm index 2b7ae6ebd85..85117222247 100644 --- a/code/modules/vehicle/secway.dm +++ b/code/modules/vehicle/secway.dm @@ -5,7 +5,7 @@ key_type = /obj/item/key/security generic_pixel_x = 0 generic_pixel_y = 4 - vehicle_move_delay = 1.5 + vehicle_move_delay = 1 /obj/item/key/security From 639d585fa64173f56fbebdb6a6e4b576c5315033 Mon Sep 17 00:00:00 2001 From: Couls Date: Sat, 28 Sep 2019 15:20:23 -0400 Subject: [PATCH 13/28] Fix heart icons going invisible (#12444) --- code/game/gamemodes/miniantags/abduction/gland.dm | 4 ++++ code/modules/surgery/organs/subtypes/slime.dm | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/code/game/gamemodes/miniantags/abduction/gland.dm b/code/game/gamemodes/miniantags/abduction/gland.dm index 2378ab1f789..419b53d50a3 100644 --- a/code/game/gamemodes/miniantags/abduction/gland.dm +++ b/code/game/gamemodes/miniantags/abduction/gland.dm @@ -3,6 +3,7 @@ desc = "A nausea-inducing hunk of twisting flesh and metal." icon = 'icons/obj/abductor.dmi' icon_state = "gland" + dead_icon = null status = ORGAN_ROBOT origin_tech = "materials=4;biotech=7;abductor=3" beating = TRUE @@ -18,6 +19,9 @@ var/mind_control_duration = 1800 var/active_mind_control = FALSE +/obj/item/organ/internal/heart/gland/update_icon() + return + /obj/item/organ/internal/heart/gland/proc/ownerCheck() if(ishuman(owner)) return TRUE diff --git a/code/modules/surgery/organs/subtypes/slime.dm b/code/modules/surgery/organs/subtypes/slime.dm index a1c4e5a0bf6..04d551330bc 100644 --- a/code/modules/surgery/organs/subtypes/slime.dm +++ b/code/modules/surgery/organs/subtypes/slime.dm @@ -3,6 +3,10 @@ name = "osmotic pressure regulator" icon_state = "heart" desc = "It appears to be some kind of biological pump that uses osmotic pressure to regulate water flow. It seems to work similar to a heart." + dead_icon = null + +/obj/item/organ/internal/heart/slime/update_icon() + return /obj/item/organ/internal/lungs/slime icon = 'icons/obj/species_organs/slime.dmi' From 4d8b9214376c2504bade637fa782b4a0cb19c47d Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 28 Sep 2019 15:20:24 -0400 Subject: [PATCH 14/28] Automatic changelog generation for PR #12444 [ci skip] --- html/changelogs/AutoChangeLog-pr-12444.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12444.yml diff --git a/html/changelogs/AutoChangeLog-pr-12444.yml b/html/changelogs/AutoChangeLog-pr-12444.yml new file mode 100644 index 00000000000..16db632878a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12444.yml @@ -0,0 +1,4 @@ +author: "Couls" +delete-after: True +changes: + - bugfix: "slime heart and fleshy masses no longer go invisible after being removed through surgery or being eaten or necrotizing" From 346fac03725dd902c444cd630933745d522113c5 Mon Sep 17 00:00:00 2001 From: Pidgey <35320204+PidgeyThePirate@users.noreply.github.com> Date: Mon, 30 Sep 2019 06:16:55 +1000 Subject: [PATCH 15/28] Issue #12438 - Abductor Surgery Fix (#12445) --- .../miniantags/abduction/abduction_surgery.dm | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm b/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm index d4d791c5b19..5b7aa52a6f6 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm @@ -1,5 +1,5 @@ /datum/surgery/organ_extraction - name = "experimental dissection" + name = "Experimental Dissection" steps = list(/datum/surgery_step/generic/cut_open, /datum/surgery_step/generic/clamp_bleeders, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/open_encased/saw, /datum/surgery_step/open_encased/retract, /datum/surgery_step/internal/extract_organ, /datum/surgery_step/internal/gland_insert, /datum/surgery_step/generic/cauterize) possible_locs = list("chest") @@ -19,17 +19,16 @@ return TRUE return FALSE - /datum/surgery_step/internal/extract_organ name = "remove heart" accept_hand = 1 time = 32 var/obj/item/organ/internal/IC = null - var/list/organ_types = list(/obj/item/organ/internal/heart) /datum/surgery_step/internal/extract_organ/begin_step(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) for(var/obj/item/I in target.internal_organs) - if(I.type in organ_types) + // Allows for multiple subtypes of heart. + if(istype(I, /obj/item/organ/internal/heart)) IC = I break user.visible_message("[user] starts to remove [target]'s organs.", "You start to remove [target]'s organs...") @@ -37,14 +36,14 @@ /datum/surgery_step/internal/extract_organ/end_step(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/mob/living/carbon/human/AB = target - if(NO_INTORGANS in AB.dna.species.species_traits) - user.visible_message("[user] prepares [target]'s [target_zone] for further dissection!", "You prepare [target]'s [target_zone] for further dissection.") - return TRUE if(IC) user.visible_message("[user] pulls [IC] out of [target]'s [target_zone]!", "You pull [IC] out of [target]'s [target_zone].") user.put_in_hands(IC) IC.remove(target, special = 1) return TRUE + if(NO_INTORGANS in AB.dna.species.species_traits) + user.visible_message("[user] prepares [target]'s [target_zone] for further dissection!", "You prepare [target]'s [target_zone] for further dissection.") + return TRUE else to_chat(user, "You don't find anything in [target]'s [target_zone]!") return TRUE @@ -76,7 +75,7 @@ //IPC Gland Surgery// /datum/surgery/organ_extraction/synth - name = "experimental robotic dissection" + name = "Experimental Robotic Dissection" steps = list(/datum/surgery_step/robotics/external/unscrew_hatch,/datum/surgery_step/robotics/external/open_hatch,/datum/surgery_step/internal/extract_organ/synth,/datum/surgery_step/internal/gland_insert,/datum/surgery_step/robotics/external/close_hatch) possible_locs = list("chest") requires_organic_bodypart = 0 @@ -99,4 +98,3 @@ /datum/surgery_step/internal/extract_organ/synth name = "remove cell" - organ_types = list(/obj/item/organ/internal/cell) From d1df9e0d3e8199c8b9caf6dc71811e522ad5c68b Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 29 Sep 2019 16:16:57 -0400 Subject: [PATCH 16/28] Automatic changelog generation for PR #12445 [ci skip] --- html/changelogs/AutoChangeLog-pr-12445.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12445.yml diff --git a/html/changelogs/AutoChangeLog-pr-12445.yml b/html/changelogs/AutoChangeLog-pr-12445.yml new file mode 100644 index 00000000000..ff1a6cf32cf --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12445.yml @@ -0,0 +1,5 @@ +author: "PidgeyThePirate" +delete-after: True +changes: + - bugfix: "Abductor surgery will now remove heart subtypes." + - tweak: "Capitalized abductor surgery names for consistency with the surgery UI." From 2ea17f832c0efa10b2979d849fb82370751533e5 Mon Sep 17 00:00:00 2001 From: Pidgey <35320204+PidgeyThePirate@users.noreply.github.com> Date: Mon, 30 Sep 2019 06:36:42 +1000 Subject: [PATCH 17/28] Added UpdateAppearance() to changeling revive in order to prevent rapid-onset alopecia totalis. (#12448) --- code/game/gamemodes/changeling/powers/revive.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/gamemodes/changeling/powers/revive.dm b/code/game/gamemodes/changeling/powers/revive.dm index 740d9fb25dc..dc07ec9b369 100644 --- a/code/game/gamemodes/changeling/powers/revive.dm +++ b/code/game/gamemodes/changeling/powers/revive.dm @@ -57,6 +57,7 @@ user.update_blind_effects() user.update_blurry_effects() user.mind.changeling.regenerating = FALSE + user.UpdateAppearance() //Ensures that the user's appearance matches their DNA. to_chat(user, "We have regenerated.") From c21c866fa0978b31534d981f68f48609ee7f7a1a Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 29 Sep 2019 16:36:44 -0400 Subject: [PATCH 18/28] Automatic changelog generation for PR #12448 [ci skip] --- html/changelogs/AutoChangeLog-pr-12448.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12448.yml diff --git a/html/changelogs/AutoChangeLog-pr-12448.yml b/html/changelogs/AutoChangeLog-pr-12448.yml new file mode 100644 index 00000000000..7b391255bc8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12448.yml @@ -0,0 +1,4 @@ +author: "PidgeyThePirate" +delete-after: True +changes: + - bugfix: "changelings no longer go bald after reviving." From 4bdfc4c32b3da57705d98c095d3c9d4e3fbc1c19 Mon Sep 17 00:00:00 2001 From: AzuleUtama <44248086+AzuleUtama@users.noreply.github.com> Date: Mon, 30 Sep 2019 03:13:20 +0100 Subject: [PATCH 19/28] Camera bug now lists cameras in alphabetical order (#12427) --- code/game/objects/items/devices/camera_bug.dm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm index 7bf80244072..3ca37a3f662 100644 --- a/code/game/objects/items/devices/camera_bug.dm +++ b/code/game/objects/items/devices/camera_bug.dm @@ -78,11 +78,9 @@ continue if(length(list("SS13","MINE")&camera.network)) bugged_cameras[camera.c_tag] = camera - sortList(bugged_cameras) + sortTim(bugged_cameras, /proc/cmp_text_asc) return bugged_cameras - - /obj/item/camera_bug/proc/menu(var/list/cameras) if(!cameras || !cameras.len) return "No bugged cameras found." From c9550d6daa7ad06ba6f5a63d16a2d93c91043724 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 29 Sep 2019 22:13:21 -0400 Subject: [PATCH 20/28] Automatic changelog generation for PR #12427 [ci skip] --- html/changelogs/AutoChangeLog-pr-12427.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12427.yml diff --git a/html/changelogs/AutoChangeLog-pr-12427.yml b/html/changelogs/AutoChangeLog-pr-12427.yml new file mode 100644 index 00000000000..59cd0099365 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12427.yml @@ -0,0 +1,4 @@ +author: "AzuleUtama" +delete-after: True +changes: + - tweak: "The camera bug now lists all cameras in alphabetical order." From 04e638967631b5e35660ada221c51d71afa980ce Mon Sep 17 00:00:00 2001 From: Evankhell561 <49106866+Evankhell561@users.noreply.github.com> Date: Sun, 29 Sep 2019 22:13:27 -0400 Subject: [PATCH 21/28] replace high power cells with high power cell+ (#12439) * change high cells for high cell+ * Update cyberiad.dmm --- _maps/map_files/cyberiad/cyberiad.dmm | 69 ++++++--------------------- 1 file changed, 14 insertions(+), 55 deletions(-) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 02bd3ad1e7c..b83e173d404 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -5205,10 +5205,7 @@ pixel_x = 0; pixel_y = 10 }, -/obj/item/stock_parts/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/stock_parts/cell/high/plus, /obj/effect/decal/warning_stripes/east, /obj/item/clothing/glasses/welding, /obj/item/radio/intercom/department/security{ @@ -24484,14 +24481,8 @@ "aRZ" = ( /obj/structure/table, /obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/stock_parts/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/stock_parts/cell/high/plus, +/obj/item/stock_parts/cell/high/plus, /turf/simulated/floor/plating, /area/maintenance/electrical) "aSa" = ( @@ -49466,10 +49457,7 @@ "bNN" = ( /obj/structure/table, /obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/stock_parts/cell/high/plus, /obj/item/radio/intercom{ frequency = 1459; name = "station intercom (General)"; @@ -50524,13 +50512,8 @@ pixel_x = -8; pixel_y = 4 }, -/obj/item/stock_parts/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/stock_parts/cell/high{ - charge = 100; - maxcharge = 15000; +/obj/item/stock_parts/cell/high/plus, +/obj/item/stock_parts/cell/high/plus{ pixel_x = 5; pixel_y = -5 }, @@ -53785,10 +53768,7 @@ "bUQ" = ( /obj/structure/table, /obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/stock_parts/cell/high/plus, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -70403,10 +70383,7 @@ "cvA" = ( /obj/structure/table, /obj/item/plant_analyzer, -/obj/item/stock_parts/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/stock_parts/cell/high/plus, /turf/simulated/floor/plating, /area/storage/tech) "cvB" = ( @@ -74447,10 +74424,7 @@ pixel_y = 3 }, /obj/item/stack/cable_coil, -/obj/item/stock_parts/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/stock_parts/cell/high/plus, /turf/simulated/floor/plating, /area/storage/tech) "cCP" = ( @@ -84452,14 +84426,8 @@ /obj/item/rcd_ammo, /obj/item/rcd_ammo, /obj/item/rcd_ammo, -/obj/item/stock_parts/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/stock_parts/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/stock_parts/cell/high/plus, +/obj/item/stock_parts/cell/high/plus, /obj/item/clothing/glasses/meson{ pixel_y = 4 }, @@ -85173,10 +85141,7 @@ }, /obj/item/airlock_electronics, /obj/item/airlock_electronics, -/obj/item/stock_parts/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/stock_parts/cell/high/plus, /obj/effect/decal/warning_stripes/west, /turf/simulated/floor/plating, /area/storage/secure) @@ -88466,14 +88431,8 @@ "dbO" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/stock_parts/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/stock_parts/cell/high/plus, +/obj/item/stock_parts/cell/high/plus, /obj/item/stack/cable_coil{ pixel_x = 3; pixel_y = -7 From f7f8929653f2ccd37eced98025a3c22c169bca62 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 29 Sep 2019 22:13:29 -0400 Subject: [PATCH 22/28] Automatic changelog generation for PR #12439 [ci skip] --- html/changelogs/AutoChangeLog-pr-12439.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12439.yml diff --git a/html/changelogs/AutoChangeLog-pr-12439.yml b/html/changelogs/AutoChangeLog-pr-12439.yml new file mode 100644 index 00000000000..26732ce4d58 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12439.yml @@ -0,0 +1,4 @@ +author: "Evankhell561" +delete-after: True +changes: + - tweak: "replace high power cells with high power cell+" From 5e31433fef1e0845adbd8abaab24e92387700d16 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 29 Sep 2019 22:13:46 -0400 Subject: [PATCH 23/28] Automatic changelog generation for PR #12441 [ci skip] --- html/changelogs/AutoChangeLog-pr-12441.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12441.yml diff --git a/html/changelogs/AutoChangeLog-pr-12441.yml b/html/changelogs/AutoChangeLog-pr-12441.yml new file mode 100644 index 00000000000..ac85ebb6820 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12441.yml @@ -0,0 +1,9 @@ +author: "Fox McCloud" +delete-after: True +changes: + - rscadd: "can insert keys into vehicles instead of having to hold them in your hand (alt-click while riding a vehicle to remove the key); lava boat still requires holding the key in your hand" + - bugfix: "Fixes moving diagonally with vehicles making you super fast" + - tweak: "Vehicles now factor in the configured human movement delay; this means all vehicles are slower than they previously were" + - bugfix: "fixes a bug with mobs on vehicles causing incorrect space transitions" + - tweak: "ATV sprites updated" + - rscadd: "Slime speed potions can now apply to vehicles, which makes them faster" From b119815a586bb1531bd84b2ff599b814e1dc2873 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 29 Sep 2019 22:40:39 -0400 Subject: [PATCH 24/28] Automatic changelog generation for PR #12429 [ci skip] --- html/changelogs/AutoChangeLog-pr-12429.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12429.yml diff --git a/html/changelogs/AutoChangeLog-pr-12429.yml b/html/changelogs/AutoChangeLog-pr-12429.yml new file mode 100644 index 00000000000..f87fc6ca5e2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12429.yml @@ -0,0 +1,4 @@ +author: "JKnutson101" +delete-after: True +changes: + - bugfix: "Allows for robotic hands, feet, and groin to undergo customization surgery." From d196899ad590bd35a4a2f182a86728074ed67e9f Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 29 Sep 2019 22:42:11 -0400 Subject: [PATCH 25/28] Automatic changelog generation for PR #12443 [ci skip] --- html/changelogs/AutoChangeLog-pr-12443.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12443.yml diff --git a/html/changelogs/AutoChangeLog-pr-12443.yml b/html/changelogs/AutoChangeLog-pr-12443.yml new file mode 100644 index 00000000000..5a4e2835985 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12443.yml @@ -0,0 +1,4 @@ +author: "Couls" +delete-after: True +changes: + - tweak: "species without bones no longer have ribs or a skull either" From 53876fb8165f11d8ebc627b519e3e10032671515 Mon Sep 17 00:00:00 2001 From: variableundefined <40092670+variableundefined@users.noreply.github.com> Date: Sun, 29 Sep 2019 22:47:43 -0400 Subject: [PATCH 26/28] Manual Changelog Compile 9/29/2019 --- html/changelog.html | 34 ++++++++++++++++++++++ html/changelogs/.all_changelog.yml | 25 ++++++++++++++++ html/changelogs/AutoChangeLog-pr-12427.yml | 4 --- html/changelogs/AutoChangeLog-pr-12429.yml | 4 --- html/changelogs/AutoChangeLog-pr-12439.yml | 4 --- html/changelogs/AutoChangeLog-pr-12441.yml | 9 ------ html/changelogs/AutoChangeLog-pr-12443.yml | 4 --- html/changelogs/AutoChangeLog-pr-12444.yml | 4 --- html/changelogs/AutoChangeLog-pr-12445.yml | 5 ---- html/changelogs/AutoChangeLog-pr-12448.yml | 4 --- 10 files changed, 59 insertions(+), 38 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-12427.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12429.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12439.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12441.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12443.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12444.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12445.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12448.yml diff --git a/html/changelog.html b/html/changelog.html index da4e463abca..28898259a1f 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,40 @@ -->
    +

    29 September 2019

    +

    AzuleUtama updated:

    +
      +
    • The camera bug now lists all cameras in alphabetical order.
    • +
    +

    Couls updated:

    +
      +
    • species without bones no longer have ribs or a skull either
    • +
    • slime heart and fleshy masses no longer go invisible after being removed through surgery or being eaten or necrotizing
    • +
    +

    Evankhell561 updated:

    +
      +
    • replace high power cells with high power cell+
    • +
    +

    Fox McCloud updated:

    +
      +
    • can insert keys into vehicles instead of having to hold them in your hand (alt-click while riding a vehicle to remove the key); lava boat still requires holding the key in your hand
    • +
    • Fixes moving diagonally with vehicles making you super fast
    • +
    • Vehicles now factor in the configured human movement delay; this means all vehicles are slower than they previously were
    • +
    • fixes a bug with mobs on vehicles causing incorrect space transitions
    • +
    • ATV sprites updated
    • +
    • Slime speed potions can now apply to vehicles, which makes them faster
    • +
    +

    JKnutson101 updated:

    +
      +
    • Allows for robotic hands, feet, and groin to undergo customization surgery.
    • +
    +

    PidgeyThePirate updated:

    +
      +
    • Abductor surgery will now remove heart subtypes.
    • +
    • Capitalized abductor surgery names for consistency with the surgery UI.
    • +
    • changelings no longer go bald after reviving.
    • +
    +

    27 September 2019

    PidgeyThePirate updated:

      diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index fcd46e104d0..23255f6ba8a 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -11592,3 +11592,28 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. SteelSlayer: - bugfix: Fixes round-start autotraitors not getting their objectives and uplink codes +2019-09-29: + AzuleUtama: + - tweak: The camera bug now lists all cameras in alphabetical order. + Couls: + - tweak: species without bones no longer have ribs or a skull either + - bugfix: slime heart and fleshy masses no longer go invisible after being removed + through surgery or being eaten or necrotizing + Evankhell561: + - tweak: replace high power cells with high power cell+ + Fox McCloud: + - rscadd: can insert keys into vehicles instead of having to hold them in your hand + (alt-click while riding a vehicle to remove the key); lava boat still requires + holding the key in your hand + - bugfix: Fixes moving diagonally with vehicles making you super fast + - tweak: Vehicles now factor in the configured human movement delay; this means + all vehicles are slower than they previously were + - bugfix: fixes a bug with mobs on vehicles causing incorrect space transitions + - tweak: ATV sprites updated + - rscadd: Slime speed potions can now apply to vehicles, which makes them faster + JKnutson101: + - bugfix: Allows for robotic hands, feet, and groin to undergo customization surgery. + PidgeyThePirate: + - bugfix: Abductor surgery will now remove heart subtypes. + - tweak: Capitalized abductor surgery names for consistency with the surgery UI. + - bugfix: changelings no longer go bald after reviving. diff --git a/html/changelogs/AutoChangeLog-pr-12427.yml b/html/changelogs/AutoChangeLog-pr-12427.yml deleted file mode 100644 index 59cd0099365..00000000000 --- a/html/changelogs/AutoChangeLog-pr-12427.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "AzuleUtama" -delete-after: True -changes: - - tweak: "The camera bug now lists all cameras in alphabetical order." diff --git a/html/changelogs/AutoChangeLog-pr-12429.yml b/html/changelogs/AutoChangeLog-pr-12429.yml deleted file mode 100644 index f87fc6ca5e2..00000000000 --- a/html/changelogs/AutoChangeLog-pr-12429.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "JKnutson101" -delete-after: True -changes: - - bugfix: "Allows for robotic hands, feet, and groin to undergo customization surgery." diff --git a/html/changelogs/AutoChangeLog-pr-12439.yml b/html/changelogs/AutoChangeLog-pr-12439.yml deleted file mode 100644 index 26732ce4d58..00000000000 --- a/html/changelogs/AutoChangeLog-pr-12439.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Evankhell561" -delete-after: True -changes: - - tweak: "replace high power cells with high power cell+" diff --git a/html/changelogs/AutoChangeLog-pr-12441.yml b/html/changelogs/AutoChangeLog-pr-12441.yml deleted file mode 100644 index ac85ebb6820..00000000000 --- a/html/changelogs/AutoChangeLog-pr-12441.yml +++ /dev/null @@ -1,9 +0,0 @@ -author: "Fox McCloud" -delete-after: True -changes: - - rscadd: "can insert keys into vehicles instead of having to hold them in your hand (alt-click while riding a vehicle to remove the key); lava boat still requires holding the key in your hand" - - bugfix: "Fixes moving diagonally with vehicles making you super fast" - - tweak: "Vehicles now factor in the configured human movement delay; this means all vehicles are slower than they previously were" - - bugfix: "fixes a bug with mobs on vehicles causing incorrect space transitions" - - tweak: "ATV sprites updated" - - rscadd: "Slime speed potions can now apply to vehicles, which makes them faster" diff --git a/html/changelogs/AutoChangeLog-pr-12443.yml b/html/changelogs/AutoChangeLog-pr-12443.yml deleted file mode 100644 index 5a4e2835985..00000000000 --- a/html/changelogs/AutoChangeLog-pr-12443.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Couls" -delete-after: True -changes: - - tweak: "species without bones no longer have ribs or a skull either" diff --git a/html/changelogs/AutoChangeLog-pr-12444.yml b/html/changelogs/AutoChangeLog-pr-12444.yml deleted file mode 100644 index 16db632878a..00000000000 --- a/html/changelogs/AutoChangeLog-pr-12444.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Couls" -delete-after: True -changes: - - bugfix: "slime heart and fleshy masses no longer go invisible after being removed through surgery or being eaten or necrotizing" diff --git a/html/changelogs/AutoChangeLog-pr-12445.yml b/html/changelogs/AutoChangeLog-pr-12445.yml deleted file mode 100644 index ff1a6cf32cf..00000000000 --- a/html/changelogs/AutoChangeLog-pr-12445.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "PidgeyThePirate" -delete-after: True -changes: - - bugfix: "Abductor surgery will now remove heart subtypes." - - tweak: "Capitalized abductor surgery names for consistency with the surgery UI." diff --git a/html/changelogs/AutoChangeLog-pr-12448.yml b/html/changelogs/AutoChangeLog-pr-12448.yml deleted file mode 100644 index 7b391255bc8..00000000000 --- a/html/changelogs/AutoChangeLog-pr-12448.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "PidgeyThePirate" -delete-after: True -changes: - - bugfix: "changelings no longer go bald after reviving." From 3ff8e2bffbbd1e1b3c79ae4708cda184e82a13b8 Mon Sep 17 00:00:00 2001 From: Pidgey <35320204+PidgeyThePirate@users.noreply.github.com> Date: Mon, 30 Sep 2019 23:11:53 +1000 Subject: [PATCH 27/28] Not sure exactly why but enclosing the locate() check in parentheses causes collect_ore() to fire properly on the ripley. --- code/game/mecha/equipment/tools/mining_tools.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/equipment/tools/mining_tools.dm b/code/game/mecha/equipment/tools/mining_tools.dm index a0f6e4408d7..98e814d111c 100644 --- a/code/game/mecha/equipment/tools/mining_tools.dm +++ b/code/game/mecha/equipment/tools/mining_tools.dm @@ -82,7 +82,7 @@ drill.move_ores() /obj/item/mecha_parts/mecha_equipment/drill/proc/move_ores() - if(locate(/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp) in chassis.equipment && istype(chassis, /obj/mecha/working/ripley)) + if((locate(/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp) in chassis.equipment) && istype(chassis, /obj/mecha/working/ripley)) var/obj/mecha/working/ripley/R = chassis //we could assume that it's a ripley because it has a clamp, but that's ~unsafe~ and ~bad practice~ R.collect_ore() From e769081f66eccafcd49c8aaffe86702878d8bdcf Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 30 Sep 2019 10:24:13 -0400 Subject: [PATCH 28/28] Automatic changelog generation for PR #12461 [ci skip] --- html/changelogs/AutoChangeLog-pr-12461.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12461.yml diff --git a/html/changelogs/AutoChangeLog-pr-12461.yml b/html/changelogs/AutoChangeLog-pr-12461.yml new file mode 100644 index 00000000000..b2c1767512a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12461.yml @@ -0,0 +1,4 @@ +author: "PidgeyThePirate" +delete-after: True +changes: + - bugfix: "The Ripley now collects all the ore it unearths after drilling."