From 73bf8131274237700cfc0b1eab1fcc0dd35981ca Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Wed, 19 Jun 2013 12:47:19 -0700 Subject: [PATCH 1/3] Sanity checking for zone disconnection. I am dumb some days. --- code/ZAS/Connection.dm | 87 +++++++++++++++++++++--------------------- 1 file changed, 44 insertions(+), 43 deletions(-) diff --git a/code/ZAS/Connection.dm b/code/ZAS/Connection.dm index f63837a5ffc..ab479450cf1 100644 --- a/code/ZAS/Connection.dm +++ b/code/ZAS/Connection.dm @@ -158,51 +158,53 @@ connection if(!istype(zone_1) || !istype(zone_2)) return - //Handle disconnection of indirectly or directly connected zones. - if( (zone_1 in zone_2.connected_zones) || (zone_2 in zone_1.connected_zones) ) + if(indirect != CONNECTION_CLOSED) + //Handle disconnection of indirectly or directly connected zones. + if( (zone_1 in zone_2.connected_zones) || (zone_2 in zone_1.connected_zones) ) - //If there are more than one connection, decrement the number of connections - //Otherwise, remove all connections between the zones. - if(zone_2 in zone_1.connected_zones) - if(zone_1.connected_zones[zone_2] > 1) - zone_1.connected_zones[zone_2]-- - else - zone_1.connected_zones -= zone_2 - //remove the list if it is empty - if(!zone_1.connected_zones.len) - zone_1.connected_zones = null + //If there are more than one connection, decrement the number of connections + //Otherwise, remove all connections between the zones. + if(zone_2 in zone_1.connected_zones) + if(zone_1.connected_zones[zone_2] > 1) + zone_1.connected_zones[zone_2]-- + else + zone_1.connected_zones -= zone_2 + //remove the list if it is empty + if(!zone_1.connected_zones.len) + zone_1.connected_zones = null - //Then do the same for the other zone. - if(zone_1 in zone_2.connected_zones) - if(zone_2.connected_zones[zone_1] > 1) - zone_2.connected_zones[zone_1]-- - else - zone_2.connected_zones -= zone_1 - if(!zone_2.connected_zones.len) - zone_2.connected_zones = null + //Then do the same for the other zone. + if(zone_1 in zone_2.connected_zones) + if(zone_2.connected_zones[zone_1] > 1) + zone_2.connected_zones[zone_1]-- + else + zone_2.connected_zones -= zone_1 + if(!zone_2.connected_zones.len) + zone_2.connected_zones = null - //Handle disconnection of closed zones. - if( (zone_1 in zone_2.closed_connection_zones) || (zone_2 in zone_1.closed_connection_zones) ) + else + //Handle disconnection of closed zones. + if( (zone_1 in zone_2.closed_connection_zones) || (zone_2 in zone_1.closed_connection_zones) ) - //If there are more than one connection, decrement the number of connections - //Otherwise, remove all connections between the zones. - if(zone_2 in zone_1.connected_zones) - if(zone_1.closed_connection_zones[zone_2] > 1) - zone_1.closed_connection_zones[zone_2]-- - else - zone_1.closed_connection_zones -= zone_2 - //remove the list if it is empty - if(!zone_1.closed_connection_zones.len) - zone_1.closed_connection_zones = null + //If there are more than one connection, decrement the number of connections + //Otherwise, remove all connections between the zones. + if(zone_2 in zone_1.connected_zones) + if(zone_1.closed_connection_zones[zone_2] > 1) + zone_1.closed_connection_zones[zone_2]-- + else + zone_1.closed_connection_zones -= zone_2 + //remove the list if it is empty + if(!zone_1.closed_connection_zones.len) + zone_1.closed_connection_zones = null - //Then do the same for the other zone. - if(zone_1 in zone_2.connected_zones) - if(zone_2.closed_connection_zones[zone_1] > 1) - zone_2.closed_connection_zones[zone_1]-- - else - zone_2.closed_connection_zones -= zone_1 - if(!zone_2.closed_connection_zones.len) - zone_2.closed_connection_zones = null + //Then do the same for the other zone. + if(zone_1 in zone_2.connected_zones) + if(zone_2.closed_connection_zones[zone_1] > 1) + zone_2.closed_connection_zones[zone_1]-- + else + zone_2.closed_connection_zones -= zone_1 + if(!zone_2.closed_connection_zones.len) + zone_2.closed_connection_zones = null proc/Cleanup() @@ -259,9 +261,8 @@ connection //The door is instead closed. else if(indirect > CONNECTION_CLOSED) - indirect = CONNECTION_CLOSED - DisconnectZones(A.zone, B.zone) + indirect = CONNECTION_CLOSED ConnectZones(A.zone, B.zone) //If I can no longer pass air, better delete @@ -381,7 +382,7 @@ connection //Handle diconnection and reconnection of zones. if(zone_A && zone_B) DisconnectZones(zone_A, zone_B) - ConnectZones(A.zone, B.zone, indirect) + ConnectZones(A.zone, B.zone, indirect) #undef CONNECTION_DIRECT From 654a83be9d9e6879cc4abe61cc0cb92f12721d46 Mon Sep 17 00:00:00 2001 From: Spamcat Date: Thu, 20 Jun 2013 18:13:18 +0400 Subject: [PATCH 2/3] Quickfix for INFINIMEAT. --- code/game/machinery/iv_drip.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index da6f8f90c89..40f5a3b9593 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -112,7 +112,8 @@ if (B) beaker.reagents.reagent_list |= B - beaker.reagents.update_total() + beaker.reagents.del_reagent("clonexadone") //Fix for infinite meat spawning when taking blood from human + beaker.reagents.update_total() //to an IV drip full of clonex beaker.on_reagent_change() beaker.reagents.handle_reactions() update_icon() From f38865f0de2d6d3c7ade67ef2436380a53a1a5bf Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 21 Jun 2013 06:01:39 -0700 Subject: [PATCH 3/3] Added a dart gun and sprites. --- code/modules/reagents/syringe_gun.dm | 277 ++++++++++++++++++++++++++- icons/obj/ammo.dmi | Bin 4197 -> 4377 bytes icons/obj/gun.dmi | Bin 36800 -> 38954 bytes 3 files changed, 276 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/syringe_gun.dm b/code/modules/reagents/syringe_gun.dm index eaa372bd45d..2bb818c3737 100644 --- a/code/modules/reagents/syringe_gun.dm +++ b/code/modules/reagents/syringe_gun.dm @@ -128,4 +128,279 @@ New() var/datum/reagents/R = new/datum/reagents(15) reagents = R - R.my_atom = src \ No newline at end of file + R.my_atom = src + +/obj/item/weapon/dart_cartridge + name = "dart cartridge" + desc = "A rack of hollow darts." + icon = 'icons/obj/ammo.dmi' + icon_state = "darts-5" + item_state = "rcdammo" + opacity = 0 + density = 0 + anchored = 0.0 + origin_tech = "materials=2" + var/darts = 5 + +/obj/item/weapon/dart_cartridge/update_icon() + if(!darts) + icon_state = "darts-0" + else if(darts > 5) + icon_state = "darts-5" + else + icon_state = "darts-[darts]" + return 1 + +/obj/item/weapon/gun/dartgun + name = "dart gun" + desc = "A small gas-powered dartgun, capable of delivering chemical cocktails swiftly across short distances." + icon_state = "dartgun-empty" + + var/list/beakers = list() //All containers inside the gun. + var/list/mixing = list() //Containers being used for mixing. + var/obj/item/weapon/dart_cartridge/cartridge = null //Container of darts. + var/max_beakers = 3 + +/obj/item/weapon/gun/dartgun/update_icon() + + if(!cartridge) + icon_state = "dartgun-empty" + return 1 + + if(!cartridge.darts) + icon_state = "dartgun-0" + else if(cartridge.darts > 5) + icon_state = "dartgun-5" + else + icon_state = "dartgun-[cartridge.darts]" + return 1 + +/obj/item/weapon/gun/dartgun/New() + + if(beakers.len) + return + + // The dartgun has one beaker by default. + var/obj/item/weapon/reagent_containers/glass/beaker/B = new(src) + beakers += B + + ..() + +/obj/item/weapon/gun/dartgun/examine() + set src in view() + update_icon() + ..() + if (!(usr in view(2)) && usr!=src.loc) + return + if (beakers.len) + usr << "\blue [src] contains:" + for(var/obj/item/weapon/reagent_containers/glass/beaker/B in beakers) + if(B.reagents && B.reagents.reagent_list.len) + for(var/datum/reagent/R in B.reagents.reagent_list) + usr << "\blue [R.volume] units of [R.name]" + +/obj/item/weapon/gun/dartgun/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I, /obj/item/weapon/dart_cartridge)) + + var/obj/item/weapon/dart_cartridge/D = I + + if(!D.darts) + user << "\blue [D] is empty." + return 0 + + if(cartridge) + if(cartridge.darts <= 0) + src.remove_cartridge() + else + user << "\blue There's already a cartridge in [src]." + return 0 + + user.drop_item() + cartridge = D + D.loc = src + user << "\blue You slot [D] into [src]." + update_icon() + return + if(istype(I, /obj/item/weapon/reagent_containers/glass/beaker)) + if(beakers.len >= max_beakers) + user << "\blue [src] already has [max_beakers] beakers in it - another one isn't going to fit!" + return + var/obj/item/weapon/reagent_containers/glass/beaker/B = I + user.drop_item() + B.loc = src + beakers += B + user << "\blue You slot [B] into [src]." + src.updateUsrDialog() + +/obj/item/weapon/gun/dartgun/can_fire() + if(!cartridge) + return 0 + else + return cartridge.darts + +/obj/item/weapon/gun/dartgun/proc/has_selected_beaker_reagents() + return 0 + +/obj/item/weapon/gun/dartgun/proc/remove_cartridge() + if(cartridge) + usr << "\blue You pop the cartridge out of [src]." + var/obj/item/weapon/dart_cartridge/C = cartridge + C.loc = get_turf(src) + C.update_icon() + cartridge = null + src.update_icon() + +/obj/item/weapon/gun/dartgun/proc/get_mixed_syringe() + if (!cartridge) + return 0 + if(!cartridge.darts) + return 0 + + var/obj/item/weapon/reagent_containers/syringe/dart = new(src) + + if(mixing.len) + var/mix_amount = 10/mixing.len + for(var/obj/item/weapon/reagent_containers/glass/beaker/B in mixing) + B.reagents.trans_to(dart,mix_amount) + + return dart + +/obj/item/weapon/gun/dartgun/proc/fire_dart(atom/target, mob/user) + if (locate (/obj/structure/table, src.loc)) + return + else + var/turf/trg = get_turf(target) + var/obj/effect/syringe_gun_dummy/D = new/obj/effect/syringe_gun_dummy(get_turf(src)) + var/obj/item/weapon/reagent_containers/syringe/S = get_mixed_syringe() + if(!S) + user << "\red There are no darts in [src]!" + return + if(!S.reagents) + user << "\red There are no reagents available!" + return + cartridge.darts-- + src.update_icon() + S.reagents.trans_to(D, S.reagents.total_volume) + del(S) + D.icon_state = "syringeproj" + D.name = "syringe" + playsound(user.loc, 'sound/items/syringeproj.ogg', 50, 1) + + for(var/i=0, i<6, i++) + if(!D) break + if(D.loc == trg) break + step_towards(D,trg) + + if(D) + for(var/mob/living/carbon/M in D.loc) + if(!istype(M,/mob/living/carbon)) continue + if(M == user) continue + //Syringe gun attack logging by Yvarov + var/R + if(D.reagents) + for(var/datum/reagent/A in D.reagents.reagent_list) + R += A.id + " (" + R += num2text(A.volume) + ")," + if (istype(M, /mob)) + M.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] shot [M]/[M.ckey] with a syringegun ([R])" + user.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] shot [M]/[M.ckey] with a syringegun ([R])" + log_attack("[user] ([user.ckey]) shot [M] ([M.ckey]) with a syringegun ([R])") + + else + M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a syringegun ([R])" + log_attack("UNKNOWN shot [M] ([M.ckey]) with a syringegun ([R])") + + if(D.reagents) + D.reagents.trans_to(M, 15) + M << "You feel a slight prick." + + del(D) + break + if(D) + for(var/atom/A in D.loc) + if(A == user) continue + if(A.density) del(D) + + sleep(1) + + if (D) spawn(10) del(D) + + return + +/obj/item/weapon/gun/dartgun/afterattack(obj/target, mob/user , flag) + if(!isturf(target.loc) || target == user) return + ..() + +/obj/item/weapon/gun/dartgun/can_hit(var/mob/living/target as mob, var/mob/living/user as mob) + return 1 + +/obj/item/weapon/gun/dartgun/attack_self(user as mob) + var/dat = "[src] mixing control:

" + + if (beakers.len) + var/i = 1 + for(var/obj/item/weapon/reagent_containers/glass/beaker/B in beakers) + dat += "Beaker [i] contains: " + if(B.reagents && B.reagents.reagent_list.len) + for(var/datum/reagent/R in B.reagents.reagent_list) + dat += "
[R.volume] units of [R.name], " + if (check_beaker_mixing(B)) + dat += text("Mixing ") + else + dat += text("Not mixing ") + else + dat += "nothing." + dat += " \[Eject\]
" + i++ + else + dat += "There are no beakers inserted!

" + + if(cartridge) + if(cartridge.darts) + dat += "The dart cartridge has [cartridge.darts] shots remaining." + else + dat += "The dart cartridge is empty!" + dat += " \[Eject\]" + + user << browse("[dat]", "window=dartgun_mixing_window") + +/obj/item/weapon/gun/dartgun/proc/check_beaker_mixing(var/obj/item/B) + if(!mixing || !beakers) + return 0 + for(var/obj/item/M in mixing) + if(M == B) + return 1 + return 0 + +/obj/item/weapon/gun/dartgun/Topic(href, href_list) + src.add_fingerprint(usr) + if(href_list["stop_mix"]) + var/index = text2num(href_list["stop_mix"]) + if(index <= beakers.len) + for(var/obj/item/M in mixing) + if(M == beakers[index]) + mixing -= M + break + else if (href_list["mix"]) + var/index = text2num(href_list["mix"]) + if(index <= beakers.len) + mixing += beakers[index] + else if (href_list["eject"]) + var/index = text2num(href_list["eject"]) + if(index <= beakers.len) + if(beakers[index]) + var/obj/item/weapon/reagent_containers/glass/beaker/B = beakers[index] + usr << "You remove [B] from [src]." + mixing -= B + beakers -= B + B.loc = get_turf(src) + else if (href_list["eject_cart"]) + remove_cartridge() + src.updateUsrDialog() + return + +/obj/item/weapon/gun/dartgun/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0) + if(cartridge) + spawn(0) fire_dart(target,user) + else + usr << "\red [src] is empty." \ No newline at end of file diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 8ca8da77f7420d0682d911208c1168cef76d38be..86d6829d138918009a86b1aea4993a634fa05240 100644 GIT binary patch delta 4012 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 delta 3831 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 diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index 5a0eab2d2a645f4dbb811a0694909fe7f26305a2..2ad4316d4a05e1d180622d5800197f333a20454f 100644 GIT binary patch delta 20517 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 QPvT+lboFyt=akR{0Lich`2YX_