From c3a31fe015b9b176e0851dd11d5d0f819b6d14f5 Mon Sep 17 00:00:00 2001 From: Citinited Date: Fri, 7 Jul 2017 10:40:33 +0100 Subject: [PATCH 01/10] You can now remove facehuggers from corgis --- .../living/carbon/alien/special/facehugger.dm | 7 ++++-- .../living/simple_animal/friendly/corgi.dm | 24 +++++++++++-------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index 498a2afb8b0..2f489f3ea2d 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -149,7 +149,10 @@ var/const/MAX_ACTIVE_TIME = 400 M.Paralyse(MAX_IMPREGNATION_TIME/6) //something like 25 ticks = 20 seconds with the default settings else if(iscorgi(M)) var/mob/living/simple_animal/pet/corgi/C = M - loc = C + if(C.facehugger) + var/obj/item/F = C.facehugger + F.forceMove(C.loc) + forceMove(C) C.facehugger = src C.regenerate_icons() @@ -161,7 +164,7 @@ var/const/MAX_ACTIVE_TIME = 400 return 1 /obj/item/clothing/mask/facehugger/proc/Impregnate(mob/living/target as mob) - if(!target || target.stat == DEAD) //was taken off or something + if(!target || target.stat == DEAD || loc != target) //was taken off or something return if(iscarbon(target)) diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index 45029891575..8d2c5242970 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -60,7 +60,8 @@ if(can_collar) dat += " " dat += "Collar:[(collar && !(collar.flags&ABSTRACT)) ? collar : "Empty"]" - + if(facehugger) + dat += "Facehugger:[facehugger]" dat += {" Close "} @@ -103,11 +104,10 @@ /mob/living/simple_animal/pet/corgi/Topic(href, href_list) if(usr.stat) return - + if(!Adjacent(usr) || !(ishuman(usr) || isrobot(usr) || isalienadult(usr))) + return //Removing from inventory if(href_list["remove_inv"]) - if(!Adjacent(usr) || !(ishuman(usr) || isrobot(usr) || isalienadult(usr))) - return var/remove_from = href_list["remove_inv"] switch(remove_from) if("head") @@ -143,14 +143,9 @@ else to_chat(usr, "There is nothing to remove from its [remove_from].") return - show_inv(usr) - //Adding things to inventory else if(href_list["add_inv"]) - if(!Adjacent(usr) || !(ishuman(usr) || isrobot(usr) || isalienadult(usr))) - return - var/add_to = href_list["add_inv"] switch(add_to) @@ -201,7 +196,16 @@ item_to_add.loc = src src.inventory_back = item_to_add regenerate_icons() - + show_inv(usr) +//Removing facehuggers + else if(href_list["remove_hugger"]) + if(!facehugger) + return + var/obj/item/F = facehugger + F.forceMove(src.loc) + facehugger = null + to_chat(usr, "You remove [F] from [src]'s face. [src] pants for air and barks.") + regenerate_icons() show_inv(usr) else ..() From 6d5560afbde64bd8631efbe10bd7337a373aa31c Mon Sep 17 00:00:00 2001 From: Citinited Date: Fri, 7 Jul 2017 10:42:07 +0100 Subject: [PATCH 02/10] Full-sized plasma windows are now fire-resistant; full-sized reinforced plasma windows are now fireproof --- code/game/objects/structures/fullwindow.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/game/objects/structures/fullwindow.dm b/code/game/objects/structures/fullwindow.dm index 48b2268d8cc..b0c1f2c512c 100644 --- a/code/game/objects/structures/fullwindow.dm +++ b/code/game/objects/structures/fullwindow.dm @@ -46,6 +46,10 @@ glasstype = /obj/item/stack/sheet/plasmaglass health = 120 +/obj/structure/window/full/plasmabasic/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) + if(exposed_temperature > T0C + 32000) + hit(round(exposed_volume / 1000), 0) + ..() /obj/structure/window/full/plasmareinforced name = "reinforced plasma window" @@ -57,6 +61,8 @@ reinf = 1 health = 160 +/obj/structure/window/full/plasmareinforced/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) + return /obj/structure/window/full/reinforced name = "reinforced window" From 5f41e337fdf0703dbf9c5eaa3bbb820e172873ee Mon Sep 17 00:00:00 2001 From: Citinited Date: Fri, 7 Jul 2017 12:21:00 +0100 Subject: [PATCH 03/10] Firedoors can't be welded while open and can't open if they're welded --- code/game/machinery/doors/firedoor.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index bda658ef128..0f397a51dbb 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -59,7 +59,9 @@ if(operating) return - if(istype(C, /obj/item/weapon/weldingtool)) + if(iswelder(C)) + if(!density) + return var/obj/item/weapon/weldingtool/W = C if(W.remove_fuel(0, user)) welded = !welded @@ -169,6 +171,8 @@ update_icon() /obj/machinery/door/firedoor/open(auto_close = TRUE) + if(welded) + return . = ..() latetoggle(auto_close) From cd5ba823f2deb2c09d1cc08fcd1ef2229176df70 Mon Sep 17 00:00:00 2001 From: Citinited Date: Fri, 7 Jul 2017 12:26:33 +0100 Subject: [PATCH 04/10] Shuttles will now only close airlocks when moving --- code/modules/shuttle/on_move.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index 4d5e38d17ec..342931a065c 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -16,13 +16,13 @@ // Stationary ports shouldn't move, mobile ones move themselves return 0 -/obj/machinery/door/onShuttleMove() +/obj/machinery/door/airlock/onShuttleMove() . = ..() if(!.) return addtimer(src, "close", 0, TRUE, 0, 1) // Close any nearby airlocks as well - for(var/obj/machinery/door/D in orange(1, src)) + for(var/obj/machinery/door/airlock/D in orange(1, src)) addtimer(D, "close", 0, TRUE, 0, 1) /obj/machinery/door/airlock/onShuttleMove() From 353ceb0693e7a5313aea72cb416e73f241fbbbf5 Mon Sep 17 00:00:00 2001 From: Citinited Date: Fri, 7 Jul 2017 14:19:02 +0100 Subject: [PATCH 05/10] Throwing items through shocked airlocks will no longer cause the airlock to spark --- code/game/machinery/doors/airlock.dm | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index a0b72ed5074..0313a054b57 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -646,14 +646,12 @@ About the new airlock wires panel: if(user) src.attack_ai(user) -/obj/machinery/door/airlock/CanPass(atom/movable/mover, turf/target, height=0) - if(src.isElectrified()) - if(istype(mover, /obj/item)) - var/obj/item/i = mover - if(i.materials[MAT_METAL]) - var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread - s.set_up(5, 1, src) - s.start() +/obj/machinery/door/airlock/CanPass(obj/item/mover) + if(isElectrified() && density) + if(mover.flags & CONDUCT) + var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread + s.set_up(5, 1, src) + s.start() return ..() /obj/machinery/door/airlock/attack_hand(mob/user as mob) From 2881fad0a3ca1208c728bda8c428e0a6dd73ae29 Mon Sep 17 00:00:00 2001 From: Citinited Date: Fri, 7 Jul 2017 17:21:14 +0100 Subject: [PATCH 06/10] Radiation mines no longer affect species with RADIMMUNE or NO_DNA flags --- code/game/objects/effects/mines.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index d386fe07d0b..7cee28286df 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -57,6 +57,10 @@ var/radiation_amount /obj/effect/mine/dnascramble/mineEffect(mob/living/victim) + if(ishuman(victim)) + var/mob/living/carbon/human/V = victim + if(V.species.flags & (RADIMMUNE | NO_DNA)) + return victim.apply_effect(radiation_amount, IRRADIATE, 0) randmutb(victim) domutcheck(victim ,null) From d485bd8d410d1cdabbf862c2e0dd9df1432130c6 Mon Sep 17 00:00:00 2001 From: Citinited Date: Fri, 7 Jul 2017 20:09:59 +0100 Subject: [PATCH 07/10] Fixes a random runtime when pipes are unwrenched --- code/ATMOSPHERICS/atmospherics.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm index 6f1be49b3b7..8341f18677e 100644 --- a/code/ATMOSPHERICS/atmospherics.dm +++ b/code/ATMOSPHERICS/atmospherics.dm @@ -166,7 +166,9 @@ Pipelines + Other Objects -> Pipe network add_fingerprint(user) var/unsafe_wrenching = FALSE - var/internal_pressure = int_air.return_pressure()-env_air.return_pressure() + var/I = int_air ? int_air.return_pressure() : 0 + var/E = env_air ? env_air.return_pressure() : 0 + var/internal_pressure = I - E playsound(src.loc, W.usesound, 50, 1) to_chat(user, "You begin to unfasten \the [src]...") From be97382c265d62d5daa268018fe0c1faac28dd54 Mon Sep 17 00:00:00 2001 From: Citinited Date: Sat, 8 Jul 2017 09:32:17 +0100 Subject: [PATCH 08/10] Tigercat & Fox tweaks --- code/game/machinery/doors/airlock.dm | 7 ++++--- code/game/objects/effects/mines.dm | 4 ++-- code/modules/mob/living/simple_animal/friendly/corgi.dm | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 0313a054b57..80a4a36ee44 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -646,9 +646,10 @@ About the new airlock wires panel: if(user) src.attack_ai(user) -/obj/machinery/door/airlock/CanPass(obj/item/mover) - if(isElectrified() && density) - if(mover.flags & CONDUCT) +/obj/machinery/door/airlock/CanPass(atom/movable/mover, turf/target, height=0) + if(isElectrified() && density && istype(mover, /obj/item)) + var/obj/item/I = mover + if(I.flags & CONDUCT) var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread s.set_up(5, 1, src) s.start() diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index 7cee28286df..26582219a9e 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -57,11 +57,11 @@ var/radiation_amount /obj/effect/mine/dnascramble/mineEffect(mob/living/victim) + victim.apply_effect(radiation_amount, IRRADIATE, 0) if(ishuman(victim)) var/mob/living/carbon/human/V = victim - if(V.species.flags & (RADIMMUNE | NO_DNA)) + if(V.species.flags & NO_DNA) return - victim.apply_effect(radiation_amount, IRRADIATE, 0) randmutb(victim) domutcheck(victim ,null) diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index 8d2c5242970..8338a225010 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -61,7 +61,7 @@ dat += " " dat += "Collar:[(collar && !(collar.flags&ABSTRACT)) ? collar : "Empty"]" if(facehugger) - dat += "Facehugger:[facehugger]" + dat += "Facehugger:[facehugger]" dat += {" Close "} @@ -104,7 +104,7 @@ /mob/living/simple_animal/pet/corgi/Topic(href, href_list) if(usr.stat) return - if(!Adjacent(usr) || !(ishuman(usr) || isrobot(usr) || isalienadult(usr))) + if((!ishuman(usr) && !isrobot(usr)) || !Adjacent(usr)) return //Removing from inventory if(href_list["remove_inv"]) From a0c3b893fe569acccdd87c01c31d4746d1c12e4a Mon Sep 17 00:00:00 2001 From: Citinited Date: Sun, 23 Jul 2017 19:50:27 +0100 Subject: [PATCH 09/10] Fixes Travis --- code/game/objects/effects/mines.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index 26582219a9e..106c60dc650 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -60,7 +60,7 @@ victim.apply_effect(radiation_amount, IRRADIATE, 0) if(ishuman(victim)) var/mob/living/carbon/human/V = victim - if(V.species.flags & NO_DNA) + if(NO_DNA in V.species.species_traits) return randmutb(victim) domutcheck(victim ,null) From 73d8c564fcc64ec7249d1ed6a096772ce702bf9e Mon Sep 17 00:00:00 2001 From: Citinited Date: Sun, 15 Oct 2017 23:15:28 +0100 Subject: [PATCH 10/10] tigercat formatting changes --- code/modules/mob/living/simple_animal/friendly/corgi.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index 8338a225010..ed08eed113e 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -202,9 +202,9 @@ if(!facehugger) return var/obj/item/F = facehugger - F.forceMove(src.loc) + F.forceMove(loc) facehugger = null - to_chat(usr, "You remove [F] from [src]'s face. [src] pants for air and barks.") + to_chat(usr, "You remove [F] from [src]'s face. [src] pants for air and barks.") regenerate_icons() show_inv(usr) else