diff --git a/code/controllers/subsystems/plants.dm b/code/controllers/subsystems/plants.dm index 2ee48773165..354a184d424 100644 --- a/code/controllers/subsystems/plants.dm +++ b/code/controllers/subsystems/plants.dm @@ -15,6 +15,7 @@ var/list/plant_product_sprites = list() // List of all growth sprites plus number of growth stages. var/list/processing = list() + var/list/current = list() /datum/controller/subsystem/plants/New() NEW_SS_GLOBAL(SSplants) @@ -78,7 +79,12 @@ src.plant_product_sprites = SSplants.plant_product_sprites /datum/controller/subsystem/plants/fire(resumed = 0) - var/list/queue = processing + if (!resumed) + var/list/old = current // This should be empty, so might as well just reuse it. + current = processing + processing = old + + var/list/queue = current while (queue.len) var/obj/effect/plant/P = queue[queue.len] queue.len-- diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm index 6cc11b0a509..833dcf47923 100644 --- a/code/game/machinery/computer/prisoner.dm +++ b/code/game/machinery/computer/prisoner.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/computer.dmi' icon_screen = "explosive" - light_color = "#a91515" + light_color = LIGHT_COLOR_ORANGE req_access = list(access_armory) circuit = /obj/item/weapon/circuitboard/prisoner var/id = 0.0 diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 3a1589860d9..d86e99b427d 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -5,7 +5,7 @@ desc = "Used to view, edit and maintain security records" icon_screen = "security" - light_color = "#a91515" + light_color = LIGHT_COLOR_ORANGE req_one_access = list(access_security, access_forensics_lockers, access_lawyer) circuit = /obj/item/weapon/circuitboard/secure_data var/obj/item/weapon/card/id/scan = null diff --git a/code/game/machinery/vending_types.dm b/code/game/machinery/vending_types.dm index 86f2d412ea8..a19976fcde7 100644 --- a/code/game/machinery/vending_types.dm +++ b/code/game/machinery/vending_types.dm @@ -276,7 +276,7 @@ /obj/machinery/vending/wallmed1 name = "NanoMed" - desc = "Wall-mounted Medical Equipment dispenser." + desc = "A wall-mounted version of the NanoMed." product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?" icon_state = "wallmed" icon_deny = "wallmed-deny" @@ -296,7 +296,7 @@ /obj/machinery/vending/wallmed2 name = "NanoMed" - desc = "Wall-mounted Medical Equipment dispenser." + desc = "A wall-mounted version of the NanoMed, containing only vital first aid equipment." icon_state = "wallmed" icon_deny = "wallmed-deny" req_access = list(access_medical) diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index a64b014f4d9..7a93c5485e9 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -506,6 +506,7 @@ /obj/structure/sink/puddle //splishy splashy ^_^ name = "puddle" icon_state = "puddle" + desc = "A small pool of some liquid, ostensibly water." /obj/structure/sink/puddle/attack_hand(mob/M as mob) icon_state = "puddle-splash" diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index 2aaf60aa097..4f664ebd288 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -431,7 +431,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O if(new_eyes && has_flag(mob_species, HAS_EYE_COLOR) && CanUseTopic(user)) pref.r_eyes = GetRedPart(new_eyes) pref.g_eyes = GetGreenPart(new_eyes) - pref.b_eyes = GetRedPart(new_eyes) + pref.b_eyes = GetBluePart(new_eyes) return TOPIC_REFRESH else if(href_list["skin_tone"]) diff --git a/code/modules/hydroponics/spreading/spreading_growth.dm b/code/modules/hydroponics/spreading/spreading_growth.dm index 451d3185344..b10177922ba 100644 --- a/code/modules/hydroponics/spreading/spreading_growth.dm +++ b/code/modules/hydroponics/spreading/spreading_growth.dm @@ -17,7 +17,7 @@ if((locate(/obj/effect/plant) in floor.contents) || (locate(/obj/effect/dead_plant) in floor.contents) ) continue if(floor.density) - if(!isnull(seed.chems["pacid"])) + if(seed.chems["pacid"]) addtimer(CALLBACK(floor, /atom/.proc/ex_act, 3), rand(5, 25)) continue if(!Adjacent(floor) || !floor.Enter(src)) @@ -82,14 +82,15 @@ //spread to 1-3 adjacent turfs depending on yield trait. var/max_spread = between(1, round(seed.get_trait(TRAIT_YIELD)*3/14), 3) - addtimer(CALLBACK(src, .proc/do_spread, spread_chance, max_spread), 1) + do_spread(spread_chance, max_spread) // We shouldn't have spawned if the controller doesn't exist. check_health() - if(neighbors.len || health != max_health || buckled_mob) + if(neighbors.len || health != max_health || buckled_mob || !is_mature()) SSplants.add_plant(src) /obj/effect/plant/proc/do_spread(spread_chance, max_spread) + set waitfor = FALSE for(var/i in 1 to max_spread) if(prob(spread_chance)) sleep(rand(3,5)) @@ -105,8 +106,8 @@ neighbor.neighbors -= target_turf /obj/effect/plant/proc/do_move(turf/target, obj/effect/plant/child) - child.loc = target - child.update_icon() + child.forceMove(target) + child.queue_icon_update() /obj/effect/plant/proc/die_off() // Kill off our plant. @@ -119,6 +120,6 @@ neighbor.neighbors |= check_turf SSplants.add_plant(neighbor) - QDEL_IN(src, 1) + qdel(src) #undef NEIGHBOR_REFRESH_TIME diff --git a/html/changelog.html b/html/changelog.html index 2818e83f746..8c31c40b1e2 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,17 @@ -->
+

14 September 2017

+

Lohikar updated:

+ +

MoondancerPony updated:

+ +

09 September 2017

Ezuo updated: