From 286dffcda095adbda157d1804ddb1c41d519e101 Mon Sep 17 00:00:00 2001 From: Yosh Date: Mon, 30 Mar 2015 21:59:59 +0100 Subject: [PATCH 01/15] Fixes #8672 Fixes #8672 however the temperature gun is still utterly and completely useless, but hey, at least you can fire it now. --- code/modules/projectiles/guns/energy/temperature.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/projectiles/guns/energy/temperature.dm b/code/modules/projectiles/guns/energy/temperature.dm index cd69b9413a..b836d265cc 100644 --- a/code/modules/projectiles/guns/energy/temperature.dm +++ b/code/modules/projectiles/guns/energy/temperature.dm @@ -2,7 +2,7 @@ name = "temperature gun" icon_state = "freezegun" fire_sound = 'sound/weapons/pulse3.ogg' - desc = "A gun that changes temperatures." + desc = "A gun that changes temperatures. It has a small label on the side, 'More extreme temperatures will cost more charge!'" var/temperature = T20C var/current_temperature = T20C charge_cost = 100 @@ -10,7 +10,7 @@ slot_flags = SLOT_BELT|SLOT_BACK projectile_type = /obj/item/projectile/temp - cell_type = /obj/item/weapon/cell/crap + cell_type = /obj/item/weapon/cell/high /obj/item/weapon/gun/energy/temperature/New() From a7a032195a5cd853458b0ed59015e51e925242c6 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Tue, 31 Mar 2015 02:41:59 -0400 Subject: [PATCH 02/15] Adds fixovein to the merc operating theater, merc vendor now vends sunglasses. --- maps/exodus-2.dmm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index c5b9118259..173ca58f97 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -802,7 +802,7 @@ "pv" = (/obj/item/device/multitool,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "pw" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "px" = (/obj/machinery/door/window{dir = 1; name = "Cell"; req_access_txt = "150"},/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"py" = (/obj/machinery/vending/assist{contraband = null; name = "AntagCorpVend"; products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"py" = (/obj/machinery/vending/assist{contraband = null; name = "AntagCorpVend"; products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "pz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/syndicate_station/start) "pA" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_closed"; id_tag = "synd_inner"; locked = 0; name = "Ship External Access"; req_access = null; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "pB" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) @@ -1944,7 +1944,7 @@ "Lt" = (/obj/item/weapon/spacecash/c200,/obj/item/weapon/spacecash/c50,/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) "Lu" = (/turf/unsimulated/floor{tag = "icon-ironsand7"; icon_state = "ironsand7"},/turf/unsimulated/floor{tag = "icon-asteroid7"; name = "plating"; icon_state = "asteroid7"},/area/wizard_station) "Lv" = (/turf/unsimulated/floor{tag = "icon-ironsand12"; icon_state = "ironsand12"},/turf/unsimulated/floor{tag = "icon-asteroid2"; name = "plating"; icon_state = "asteroid2"},/area/wizard_station) -"Lw" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/syringe,/obj/item/clothing/mask/surgical,/obj/item/clothing/gloves/latex,/obj/item/weapon/surgicaldrill,/obj/structure/closet/secure_closet/medical_wall{pixel_x = 32; pixel_y = 0; req_access = null; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"Lw" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/item/weapon/reagent_containers/syringe,/obj/item/clothing/mask/surgical,/obj/item/clothing/gloves/latex,/obj/item/weapon/surgicaldrill,/obj/structure/closet/secure_closet/medical_wall{pixel_x = 32; pixel_y = 0; req_access = null; req_access_txt = "150"},/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/FixOVein,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) "Lx" = (/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "Ly" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "Lz" = (/turf/simulated/floor/holofloor{icon_state = "carpet7-3"; dir = 4},/area/holodeck/source_theatre) From 9de5b196257e187faff48c50e86fee34623a7d14 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 31 Mar 2015 15:51:33 +0200 Subject: [PATCH 03/15] Fixes event weights not being affected by having been fired before. This mainly due to using a completely incorrect list, event_last_fired (used by the old system) instead of last_event_time. --- code/modules/events/event_container.dm | 27 ++++++++++++++------------ code/modules/events/event_manager.dm | 3 ++- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index 758d50ebdd..c09f06372c 100644 --- a/code/modules/events/event_container.dm +++ b/code/modules/events/event_container.dm @@ -59,20 +59,10 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT var/list/possible_events = list() for(var/datum/event_meta/EM in available_events) - var/event_weight = EM.get_weight(active_with_role) - if(EM.enabled && event_weight) + var/event_weight = get_weight(EM, active_with_role) + if(event_weight) possible_events[EM] = event_weight - for(var/event_meta in last_event_time) if(possible_events[event_meta]) - var/time_passed = world.time - event_last_fired[event_meta] - var/weight_modifier = max(0, (config.expected_round_length - time_passed) / 300) - var/new_weight = max(possible_events[event_meta] - weight_modifier, 0) - - if(new_weight) - possible_events[event_meta] = new_weight - else - possible_events -= event_meta - if(possible_events.len == 0) return null @@ -81,6 +71,19 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT available_events -= picked_event return picked_event +/datum/event_container/proc/get_weight(var/datum/event_meta/EM, var/list/active_with_role) + if(!EM.enabled) + return 0 + + var/weight = EM.get_weight(active_with_role) + var/last_time = last_event_time[EM] + if(last_time) + var/time_passed = world.time - last_time + var/weight_modifier = max(0, round((config.expected_round_length - time_passed) / 300)) + weight = weight - weight_modifier + + return weight + /datum/event_container/proc/set_event_delay() // If the next event time has not yet been set and we have a custom first time start if(next_event_time == 0 && config.event_first_run[severity]) diff --git a/code/modules/events/event_manager.dm b/code/modules/events/event_manager.dm index 35b1d30d08..bdd5f7400e 100644 --- a/code/modules/events/event_manager.dm +++ b/code/modules/events/event_manager.dm @@ -89,6 +89,7 @@ html += "

Available [severity_to_string[selected_event_container.severity]] Events (queued & running events will not be displayed)

" html += "" html += "Name Weight MinWeight MaxWeight OneShot Enabled CurrWeight Remove" + var/list/active_with_role = number_active_with_role() for(var/datum/event_meta/EM in selected_event_container.available_events) html += "" html += "[EM.name]" @@ -97,7 +98,7 @@ html += "[EM.max_weight]" html += "[EM.one_shot]" html += "[EM.enabled]" - html += "[EM.get_weight(number_active_with_role())]" + html += "[selected_event_container.get_weight(EM, active_with_role)]" html += "Remove" html += "" html += "" From 524ea8aeb77d960d20db968bcd49b6b0d37be3bb Mon Sep 17 00:00:00 2001 From: Kelenius Date: Tue, 31 Mar 2015 18:37:15 +0300 Subject: [PATCH 04/15] Fixes a typo --- code/modules/mob/living/carbon/human/human_attackhand.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 23f90946bc..bd4a8e0092 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -223,7 +223,7 @@ chance = !hand ? 40 : 20 if (prob(chance)) - visible_message("[src]'s [W] goes off during struggle!") + visible_message("[src]'s [W] goes off during struggle!") var/list/turfs = list() for(var/turf/T in view()) turfs += T From 25fa1a2258c09384554935f1f27ccd85866012c8 Mon Sep 17 00:00:00 2001 From: Yoshax Date: Tue, 31 Mar 2015 19:01:17 +0100 Subject: [PATCH 05/15] Adds feedback and logging for free job slot. --- code/modules/admin/admin_verbs.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 6b079ef1ac..0f17664427 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -816,7 +816,8 @@ var/list/admin_verbs_mentor = list( var/job = input("Please select job slot to free", "Free job slot") as null|anything in jobs if (job) job_master.FreeRole(job) - return + message_admins("A job slot for [job] has been opened by [key_name_admin(usr)]") + return /client/proc/toggleattacklogs() set name = "Toggle Attack Log Messages" From 5fe486dfe3137eb84c917eb36395a3ff07ceb688 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Tue, 31 Mar 2015 20:26:31 -0400 Subject: [PATCH 06/15] Fixes swapped STS-35 item states Renames the states to prevent future confusion --- .../projectiles/guns/projectile/automatic.dm | 2 +- icons/mob/items/lefthand_guns.dmi | Bin 27736 -> 27745 bytes icons/mob/items/righthand_guns.dmi | Bin 29866 -> 29865 bytes icons/obj/gun.dmi | Bin 49696 -> 49699 bytes 4 files changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 75bbf810a8..ee7bfbffff 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -62,7 +62,7 @@ /obj/item/weapon/gun/projectile/automatic/sts35/update_icon() ..() - icon_state = (ammo_magazine)? "arifle-0" : "arifle" + icon_state = (ammo_magazine)? "arifle" : "arifle-empty" update_held_icon() /obj/item/weapon/gun/projectile/automatic/wt550 diff --git a/icons/mob/items/lefthand_guns.dmi b/icons/mob/items/lefthand_guns.dmi index d564d9bafe3fefce7f5d6568cbe6834fa10b0913..5e3c059267aa9c0b270b6154d9868f60ae485384 100644 GIT binary patch literal 27745 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 b_0vf`hq1}0pTMibAh&K9>weaDc>I3=%V35K literal 27736 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 z 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

wvC_nA@Q4jh!OEbkp+p?_0mCy?Qy)#m)2s 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 delta 172 zcmV;d08{^?gae?21CS&EEU_h>1b>Fj#ykcbUMIH;X%rgapWJR&24^gftwIx*h*h9` zJ+=x=V;&m?t|gC+5~Z-zbc1Y}iQlU{+NeJM9@8-M&SfAqLSJPvDyqZ~X1hd62UAPe Date: Wed, 1 Apr 2015 06:49:31 -0700 Subject: [PATCH 07/15] Fixes #8682 --- code/modules/clothing/spacesuits/rig/rig.dm | 16 +++++++++------- .../modules/mob/living/carbon/human/inventory.dm | 5 +++-- code/modules/mob/mob.dm | 2 +- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index 347d837856..dd646a7145 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -140,12 +140,13 @@ piece.name = "[suit_type] [initial(piece.name)]" piece.desc = "It seems to be part of a [src.name]." piece.icon_state = "[initial(icon_state)]" - piece.armor = armor.Copy() piece.min_cold_protection_temperature = min_cold_protection_temperature piece.max_heat_protection_temperature = max_heat_protection_temperature piece.siemens_coefficient = siemens_coefficient piece.permeability_coefficient = permeability_coefficient piece.unacidable = unacidable + if(islist(species_restricted)) piece.species_restricted = species_restricted.Copy() + if(islist(armor)) piece.armor = armor.Copy() update_icon(1) @@ -631,14 +632,15 @@ use_obj.loc = src else if (deploy_mode != ONLY_RETRACT) - if(check_slot) - if(check_slot != use_obj) - H << "You are unable to deploy \the [piece] as \the [check_slot] [check_slot.gender == PLURAL ? "are" : "is"] in the way." - return + if(check_slot && check_slot != use_obj) + H << "You are unable to deploy \the [piece] as \the [check_slot] [check_slot.gender == PLURAL ? "are" : "is"] in the way." + return else - H << "Your [use_obj.name] [use_obj.gender == PLURAL ? "deploy" : "deploys"] swiftly." use_obj.loc = H - H.equip_to_slot(use_obj, equip_to) + if(!H.equip_to_slot_if_possible(use_obj, equip_to, 0)) + use_obj.loc = src + else + H << "Your [use_obj.name] [use_obj.gender == PLURAL ? "deploy" : "deploys"] swiftly." if(piece == "helmet" && helmet) helmet.update_light(H) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 44b212694e..35cb9840cb 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -215,10 +215,11 @@ This saves us from having to call add_fingerprint() any time something is put in //This is an UNSAFE proc. Use mob_can_equip() before calling this one! Or rather use equip_to_slot_if_possible() or advanced_equip_to_slot_if_possible() //set redraw_mob to 0 if you don't wish the hud to be updated - if you're doing it manually in your own proc. /mob/living/carbon/human/equip_to_slot(obj/item/W as obj, slot, redraw_mob = 1) + if(!slot) return if(!istype(W)) return if(!has_organ_for_slot(slot)) return - + if(!species || !species.hud || !(slot in species.hud.equip_slots)) return W.loc = src switch(slot) if(slot_back) @@ -337,7 +338,7 @@ This saves us from having to call add_fingerprint() any time something is put in W.layer = 20 - return + return 1 /obj/effect/equip_e name = "equip e" diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 6f4ac6543c..82e7af8452 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -142,7 +142,7 @@ del(W) else if(!disable_warning) - src << "\red You are unable to equip that." //Only print if del_on_fail is false + src << "\red You are unable to equip \the [W]." //Only print if del_on_fail is false return 0 equip_to_slot(W, slot, redraw_mob) //This proc should not ever fail. From 5326abb67d5cb4b0f4b5111a75bd606ffa84da0b Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 1 Apr 2015 07:24:53 -0700 Subject: [PATCH 08/15] Fixes #8611 --- code/modules/reagents/Chemistry-Machinery.dm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 1b72aa115a..6da1a73332 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -1020,6 +1020,9 @@ continue var/remaining_volume = beaker.reagents.maximum_volume - beaker.reagents.total_volume + if(remaining_volume <= 0) + break + if(sheet_reagents[O.type]) var/obj/item/stack/stack = O if(istype(stack)) @@ -1029,10 +1032,11 @@ beaker.reagents.add_reagent(sheet_reagents[stack.type], (amount_to_take*REAGENTS_PER_SHEET)) continue - O.reagents.trans_to(beaker, min(O.reagents.total_volume, remaining_volume)) - if(O.reagents.total_volume == 0) - remove_object(O) - if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume) - break + if(O.reagents) + O.reagents.trans_to(beaker, min(O.reagents.total_volume, remaining_volume)) + if(O.reagents.total_volume == 0) + remove_object(O) + if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume) + break #undef REAGENTS_PER_SHEET \ No newline at end of file From 1070a8f63ce17667a0d14f580ddfe968f488a2a1 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 1 Apr 2015 07:25:09 -0700 Subject: [PATCH 09/15] Adds weedkiller smoke checks to hydro trays and spreading plants. --- code/modules/clothing/spacesuits/rig/rig.dm | 3 +- .../hydroponics/spreading/spreading_growth.dm | 5 +++ code/modules/hydroponics/trays/tray.dm | 32 +++++++++---------- .../modules/hydroponics/trays/tray_process.dm | 5 +++ code/modules/reagents/Chemistry-Reagents.dm | 7 ++-- 5 files changed, 29 insertions(+), 23 deletions(-) diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index dd646a7145..932986938d 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -134,7 +134,7 @@ verbs |= /obj/item/weapon/rig/proc/toggle_chest for(var/obj/item/piece in list(gloves,helmet,boots,chest)) - if(!piece) + if(!istype(piece)) continue piece.canremove = 0 piece.name = "[suit_type] [initial(piece.name)]" @@ -145,7 +145,6 @@ piece.siemens_coefficient = siemens_coefficient piece.permeability_coefficient = permeability_coefficient piece.unacidable = unacidable - if(islist(species_restricted)) piece.species_restricted = species_restricted.Copy() if(islist(armor)) piece.armor = armor.Copy() update_icon(1) diff --git a/code/modules/hydroponics/spreading/spreading_growth.dm b/code/modules/hydroponics/spreading/spreading_growth.dm index 257d2219ba..7b1eae4f21 100644 --- a/code/modules/hydroponics/spreading/spreading_growth.dm +++ b/code/modules/hydroponics/spreading/spreading_growth.dm @@ -35,6 +35,11 @@ die_off() return 0 + for(var/obj/effect/effect/smoke/chem/smoke in view(1, src)) + if(smoke.reagents.has_reagent("plantbgone")) + die_off() + return + // Handle life. var/turf/simulated/T = get_turf(src) if(istype(T)) diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm index 19f181d03e..22c227a8d4 100644 --- a/code/modules/hydroponics/trays/tray.dm +++ b/code/modules/hydroponics/trays/tray.dm @@ -98,22 +98,22 @@ // Beneficial reagents also have values for modifying yield_mod and mut_mod (in that order). var/global/list/beneficial_reagents = list( - "beer" = list( -0.05, 0, 0 ), - "fluorine" = list( -2, 0, 0 ), - "chlorine" = list( -1, 0, 0 ), - "phosphorus" = list( -0.75, 0, 0 ), - "sodawater" = list( 0.1, 0, 0 ), - "sacid" = list( -1, 0, 0 ), - "pacid" = list( -2, 0, 0 ), - "plantbgone" = list( -2, 0, 0.2 ), - "cryoxadone" = list( 3, 0, 0 ), - "ammonia" = list( 0.5, 0, 0 ), - "diethylamine" = list( 1, 0, 0 ), - "nutriment" = list( 0.5, 0.1, 0 ), - "radium" = list( -1.5, 0, 0.2 ), - "adminordrazine" = list( 1, 1, 1 ), - "robustharvest" = list( 0, 0.2, 0 ), - "left4zed" = list( 0, 0, 0.2 ) + "beer" = list( -0.05, 0, 0 ), + "fluorine" = list( -2, 0, 0 ), + "chlorine" = list( -1, 0, 0 ), + "phosphorus" = list( -0.75, 0, 0 ), + "sodawater" = list( 0.1, 0, 0 ), + "sacid" = list( -1, 0, 0 ), + "pacid" = list( -2, 0, 0 ), + "plantbgone" = list( -2, 0, 0.2), + "cryoxadone" = list( 3, 0, 0 ), + "ammonia" = list( 0.5, 0, 0 ), + "diethylamine" = list( 1, 0, 0 ), + "nutriment" = list( 0.5, 0.1, 0 ), + "radium" = list( -1.5, 0, 0.2), + "adminordrazine" = list( 1, 1, 1 ), + "robustharvest" = list( 0, 0.2, 0 ), + "left4zed" = list( 0, 0, 0.2) ) // Mutagen list specifies minimum value for the mutation to take place, rather diff --git a/code/modules/hydroponics/trays/tray_process.dm b/code/modules/hydroponics/trays/tray_process.dm index 280ce9e6d6..68e6fbce37 100644 --- a/code/modules/hydroponics/trays/tray_process.dm +++ b/code/modules/hydroponics/trays/tray_process.dm @@ -1,5 +1,10 @@ /obj/machinery/portable_atmospherics/hydroponics/process() + // Handle nearby smoke if any. + for(var/obj/effect/effect/smoke/chem/smoke in view(1, src)) + if(smoke.reagents.total_volume) + smoke.reagents.copy_to(src, 5) + //Do this even if we're not ready for a plant cycle. process_reagents() diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 4f08f6f0c3..64a65de467 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1855,12 +1855,9 @@ datum var/obj/effect/alien/weeds/alien_weeds = O alien_weeds.health -= rand(15,35) // Kills alien weeds pretty fast alien_weeds.healthcheck() - else if(istype(O,/obj/effect/plant)) //even a small amount is enough to kill it - del(O) else if(istype(O,/obj/effect/plant)) - if(prob(50)) - var/obj/effect/plant/plant = O - plant.die_off() + var/obj/effect/plant/plant = O + plant.die_off() else if(istype(O,/obj/machinery/portable_atmospherics/hydroponics)) var/obj/machinery/portable_atmospherics/hydroponics/tray = O From 1a614c12de603e8d6f51154862a09e0688a2300f Mon Sep 17 00:00:00 2001 From: Mustafa Kalash Date: Wed, 1 Apr 2015 11:41:46 -0400 Subject: [PATCH 10/15] Switches hacky list copying method in check_items and check_fruit to use Copy(). Uses Cut() to make sure that one item does not satisfy the need for multiple items of the same type. --- code/datums/recipe.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/datums/recipe.dm b/code/datums/recipe.dm index 9c72feef39..d72a8798a7 100644 --- a/code/datums/recipe.dm +++ b/code/datums/recipe.dm @@ -54,8 +54,8 @@ . = 1 if(fruit && fruit.len) var/list/checklist = list() - for(var/fruittype in fruit) // I do not trust Copy(). - checklist[fruittype] = fruit[fruittype] + // You should trust Copy(). + checklist = fruit.Copy() for(var/obj/item/weapon/reagent_containers/food/snacks/grown/G in container) if(!G.seed || !G.seed.kitchen_tag || isnull(checklist[G.seed.kitchen_tag])) continue @@ -73,15 +73,15 @@ . = 1 if (items && items.len) var/list/checklist = list() - for(var/item_type in items) - checklist |= item_type //Still don't trust Copy(). + checklist = items.Copy() // You should really trust Copy for(var/obj/O in container) if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/grown)) continue // Fruit is handled in check_fruit(). var/found = 0 - for(var/item_type in checklist) + for(var/i = 1; i < checklist.len+1; i++) + var/item_type = checklist[i] if (istype(O,item_type)) - checklist-=item_type + checklist.Cut(i, i+1) found = 1 break if (!found) From a116723fcdbdcac839ff1847900c2a05ec85f2b4 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 2 Apr 2015 00:04:44 -0400 Subject: [PATCH 11/15] Updates canister process() to use atmos helper procs --- code/ATMOSPHERICS/_atmospherics_helpers.dm | 51 +++++++++++++++++-- .../components/binary_devices/passive_gate.dm | 2 +- code/game/machinery/atmoalter/canister.dm | 19 +++---- 3 files changed, 56 insertions(+), 16 deletions(-) diff --git a/code/ATMOSPHERICS/_atmospherics_helpers.dm b/code/ATMOSPHERICS/_atmospherics_helpers.dm index 149ac5f1b1..d675e905a8 100644 --- a/code/ATMOSPHERICS/_atmospherics_helpers.dm +++ b/code/ATMOSPHERICS/_atmospherics_helpers.dm @@ -29,8 +29,6 @@ if (source.total_moles < MINUMUM_MOLES_TO_PUMP) //if we cant transfer enough gas just stop to avoid further processing return -1 - //var/source_moles_initial = source.total_moles - if (isnull(transfer_moles)) transfer_moles = source.total_moles else @@ -69,6 +67,40 @@ return power_draw +//Gas 'pumping' proc for the case where the gas flow is passive and driven entirely by pressure differences (but still one-way). +/proc/pump_gas_passive(var/obj/machinery/M, var/datum/gas_mixture/source, var/datum/gas_mixture/sink, var/transfer_moles = null) + if (source.total_moles < MINUMUM_MOLES_TO_PUMP) //if we cant transfer enough gas just stop to avoid further processing + return -1 + + if (isnull(transfer_moles)) + transfer_moles = source.total_moles + else + transfer_moles = min(source.total_moles, transfer_moles) + + var/equalize_moles = calculate_equalize_moles(source, sink) + transfer_moles = min(transfer_moles, equalize_moles) + + if (transfer_moles < MINUMUM_MOLES_TO_PUMP) //if we cant transfer enough gas just stop to avoid further processing + return -1 + + //Update flow rate meter + if (istype(M, /obj/machinery/atmospherics)) + var/obj/machinery/atmospherics/A = M + A.last_flow_rate = (transfer_moles/source.total_moles)*source.volume //group_multiplier gets divided out here + if (A.debug) + A.visible_message("[A]: moles transferred = [transfer_moles] mol") + + if (istype(M, /obj/machinery/portable_atmospherics)) + var/obj/machinery/portable_atmospherics/P = M + P.last_flow_rate = (transfer_moles/source.total_moles)*source.volume //group_multiplier gets divided out here + + var/datum/gas_mixture/removed = source.remove(transfer_moles) + if(!removed) //Just in case + return -1 + sink.merge(removed) + + return 0 + //Generalized gas scrubbing proc. //Selectively moves specified gasses one gas_mixture to another and returns the amount of power needed (assuming 1 second), or -1 if no gas was filtered. //filtering - A list of gasids to be scrubbed from source @@ -400,4 +432,17 @@ var/output_volume = (sink.volume * sink.group_multiplier) + sink_volume_mod //get the number of moles that would have to be transfered to bring sink to the target pressure - return pressure_delta*output_volume/(air_temperature * R_IDEAL_GAS_EQUATION) \ No newline at end of file + return pressure_delta*output_volume/(air_temperature * R_IDEAL_GAS_EQUATION) + +//Calculates the APPROXIMATE amount of moles that would need to be transferred to bring source and sink to the same pressure +/proc/calculate_equalize_moles(datum/gas_mixture/source, datum/gas_mixture/sink) + if(source.temperature == 0) return 0 + + //Make the approximation that the sink temperature is unchanged after transferring gas + var/source_volume = source.volume * source.group_multiplier + var/sink_volume = sink.volume * sink.group_multiplier + + var/source_pressure = source.return_pressure() + var/sink_pressure = sink.return_pressure() + + return (source_pressure - sink_pressure)/(R_IDEAL_GAS_EQUATION * (source.temperature/source_volume + sink.temperature/sink_volume)) diff --git a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm index 3bd9fdae2b..0ec10aa582 100644 --- a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm +++ b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm @@ -80,7 +80,7 @@ transfer_moles = min(transfer_moles, calculate_transfer_moles(air1, air2, pressure_delta, (network2)? network2.volume : 0)) //pump_gas() will return a negative number if no flow occurred - returnval = pump_gas(src, air1, air2, transfer_moles, available_power=0) //available_power=0 means we only move gas if it would flow naturally + returnval = pump_gas_passive(src, air1, air2, transfer_moles) if (returnval >= 0) if(network1) diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index 4d96320518..78d7d48651 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -8,6 +8,7 @@ var/valve_open = 0 var/release_pressure = ONE_ATMOSPHERE + var/release_flow_rate = ATMOS_DEFAULT_VOLUME_PUMP //in L/s var/canister_color = "yellow" var/can_label = 1 @@ -175,21 +176,15 @@ update_flag environment = loc.return_air() var/env_pressure = environment.return_pressure() - var/pressure_delta = min(release_pressure - env_pressure, (air_contents.return_pressure() - env_pressure)/2) - //Can not have a pressure delta that would cause environment pressure > tank pressure + var/pressure_delta = release_pressure - env_pressure - var/transfer_moles = 0 if((air_contents.temperature > 0) && (pressure_delta > 0)) - transfer_moles = pressure_delta*environment.volume/(air_contents.temperature * R_IDEAL_GAS_EQUATION) + var/transfer_moles = calculate_transfer_moles(air_contents, environment, pressure_delta) + transfer_moles = min(transfer_moles, (release_flow_rate/air_contents.volume)*air_contents.total_moles) //flow rate limit - //Actually transfer the gas - var/datum/gas_mixture/removed = air_contents.remove(transfer_moles) - - if(holding) - environment.merge(removed) - else - loc.assume_air(removed) - src.update_icon() + var/returnval = pump_gas_passive(src, air_contents, environment, transfer_moles) + if(returnval >= 0) + src.update_icon() if(air_contents.return_pressure() < 1) can_label = 1 From e82894aadcf7ebd1fefa56a935998165a56bbd27 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Thu, 2 Apr 2015 05:16:20 +0100 Subject: [PATCH 12/15] Fixes runtime when attempting to latejoin into a deleted core --- code/game/machinery/computer/ai_core.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm index 7bd8e4b8e8..707371c445 100644 --- a/code/game/machinery/computer/ai_core.dm +++ b/code/game/machinery/computer/ai_core.dm @@ -187,6 +187,11 @@ anchored = 1 state = 20//So it doesn't interact based on the above. Not really necessary. +/obj/structure/AIcore/deactivated/Del() + if(src in empty_playable_ai_cores) + empty_playable_ai_cores -= src + ..() + /obj/structure/AIcore/deactivated/proc/load_ai(var/mob/living/silicon/ai/transfer, var/obj/item/device/aicard/card, var/mob/user) if(!istype(transfer) || locate(/mob/living/silicon/ai) in src) From ca70ac1efe4369badb64f4fc841a70a275db5e8d Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 2 Apr 2015 09:47:20 +0200 Subject: [PATCH 13/15] Fixes #8582. simple_animal/Life() did not terminate properly on death. Caused issues with bears that would update their icons if Life() returned true (despite having called death). --- code/modules/mob/living/simple_animal/simple_animal.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 2dcb99b091..029abc4efc 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -81,6 +81,7 @@ if(health < 1) death() + return if(health > maxHealth) health = maxHealth From a560acd3daef57f39bf62724708cb6c36ff18a9e Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 2 Apr 2015 21:54:35 -0400 Subject: [PATCH 14/15] Makes reflex shooting more obvious Reflex shooting now has a different colour than regular shooting, to prevent mixups --- code/modules/projectiles/gun.dm | 18 +++++++++++++----- code/stylesheet.dm | 2 ++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index ce85604752..4e81f77e96 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -167,11 +167,19 @@ playsound(user, fire_sound, 10, 1) else playsound(user, fire_sound, 50, 1) - user.visible_message( - "[user] fires [src][pointblank ? " point blank at [target]":""][reflex ? " by reflex":""]!", - "You fire [src][reflex ? "by reflex":""]!", - "You hear a [fire_sound_text]!" - ) + + if(reflex) + user.visible_message( + "[user] fires [src][pointblank ? " point blank at [target]":""] by reflex!", + "You fire [src] by reflex]!", + "You hear a [fire_sound_text]!" + ) + else + user.visible_message( + "[user] fires [src][pointblank ? " point blank at [target]":""]!", + "You fire [src]!", + "You hear a [fire_sound_text]!" + ) if(recoil) spawn() diff --git a/code/stylesheet.dm b/code/stylesheet.dm index ea4ac29fc3..d42ac80b7c 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -78,6 +78,8 @@ h1.alert, h2.alert {color: #000000;} .alium {color: #00ff00;} .cult {color: #800080; font-weight: bold; font-style: italic;} +.reflex_shoot {color: #000099; font-style: italic;} + /* Languages */ .alien {color: #543354;} From fd8e6f9f32f8c2f33dd86ae40c4805d9f42acdf2 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 3 Apr 2015 09:23:34 +0200 Subject: [PATCH 15/15] Corrects the spelling of MINIMUM_MOLES_TO_PUMP. --- code/ATMOSPHERICS/_atmospherics_helpers.dm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/code/ATMOSPHERICS/_atmospherics_helpers.dm b/code/ATMOSPHERICS/_atmospherics_helpers.dm index 14fc5a496b..5ea54e7a56 100644 --- a/code/ATMOSPHERICS/_atmospherics_helpers.dm +++ b/code/ATMOSPHERICS/_atmospherics_helpers.dm @@ -69,7 +69,7 @@ //Gas 'pumping' proc for the case where the gas flow is passive and driven entirely by pressure differences (but still one-way). /proc/pump_gas_passive(var/obj/machinery/M, var/datum/gas_mixture/source, var/datum/gas_mixture/sink, var/transfer_moles = null) - if (source.total_moles < MINUMUM_MOLES_TO_PUMP) //if we cant transfer enough gas just stop to avoid further processing + if (source.total_moles < MINIMUM_MOLES_TO_PUMP) //if we cant transfer enough gas just stop to avoid further processing return -1 if (isnull(transfer_moles)) @@ -80,7 +80,7 @@ var/equalize_moles = calculate_equalize_moles(source, sink) transfer_moles = min(transfer_moles, equalize_moles) - if (transfer_moles < MINUMUM_MOLES_TO_PUMP) //if we cant transfer enough gas just stop to avoid further processing + if (transfer_moles < MINIMUM_MOLES_TO_PUMP) //if we cant transfer enough gas just stop to avoid further processing return -1 //Update flow rate meter @@ -424,25 +424,25 @@ return specific_power //Calculates the APPROXIMATE amount of moles that would need to be transferred to change the pressure of sink by pressure_delta -//If set, sink_volume_mod adjusts the effective output volume used in the calculation. This is useful when the output gas_mixture is +//If set, sink_volume_mod adjusts the effective output volume used in the calculation. This is useful when the output gas_mixture is //part of a pipenetwork, and so it's volume isn't representative of the actual volume since the gas will be shared across the pipenetwork when it processes. /proc/calculate_transfer_moles(datum/gas_mixture/source, datum/gas_mixture/sink, var/pressure_delta, var/sink_volume_mod=0) //Make the approximation that the sink temperature is unchanged after transferring gas var/air_temperature = (sink.temperature > 0)? sink.temperature : source.temperature var/output_volume = (sink.volume * sink.group_multiplier) + sink_volume_mod - + //get the number of moles that would have to be transfered to bring sink to the target pressure return pressure_delta*output_volume/(air_temperature * R_IDEAL_GAS_EQUATION) //Calculates the APPROXIMATE amount of moles that would need to be transferred to bring source and sink to the same pressure /proc/calculate_equalize_moles(datum/gas_mixture/source, datum/gas_mixture/sink) if(source.temperature == 0) return 0 - + //Make the approximation that the sink temperature is unchanged after transferring gas var/source_volume = source.volume * source.group_multiplier var/sink_volume = sink.volume * sink.group_multiplier - + var/source_pressure = source.return_pressure() var/sink_pressure = sink.return_pressure() - + return (source_pressure - sink_pressure)/(R_IDEAL_GAS_EQUATION * (source.temperature/source_volume + sink.temperature/sink_volume))