diff --git a/code/game/machinery/doorbell_vr.dm b/code/game/machinery/doorbell_vr.dm
index b23e490928..f4dceb0b8b 100644
--- a/code/game/machinery/doorbell_vr.dm
+++ b/code/game/machinery/doorbell_vr.dm
@@ -43,12 +43,13 @@
else
icon_state = "dbchime-standby"
+//TFF 3/6/19 - Port Cit RP fix of infinite frames. ToDo: Make it so that you can completely deconstruct it and reconstruct it.
/obj/machinery/doorbell_chime/attackby(obj/item/W as obj, mob/user as mob)
src.add_fingerprint(user)
if(default_deconstruction_screwdriver(user, W))
return
- else if(default_deconstruction_crowbar(user, W))
- return
+// else if(default_deconstruction_crowbar(user, W)) //NOTICE: NO CIRCUITBOARD
+// return
else if(default_part_replacement(user, W))
return
else if(panel_open && istype(W, /obj/item/device/multitool))
diff --git a/code/game/machinery/exonet_node.dm b/code/game/machinery/exonet_node.dm
index 87eba96324..c9e11a133e 100644
--- a/code/game/machinery/exonet_node.dm
+++ b/code/game/machinery/exonet_node.dm
@@ -16,6 +16,9 @@
var/list/logs = list() // Gets written to by exonet's send_message() function.
+//TFF 3/6/19 - Port Cit RP fix for infinite frames
+ circuit = /obj/item/weapon/circuitboard/telecomms/exonet_node
+
// Proc: New()
// Parameters: None
// Description: Adds components to the machine for deconstruction.
@@ -23,7 +26,6 @@
..()
component_parts = list()
- component_parts += new /obj/item/weapon/circuitboard/telecomms/exonet_node(src)
component_parts += new /obj/item/weapon/stock_parts/subspace/ansible(src)
component_parts += new /obj/item/weapon/stock_parts/subspace/sub_filter(src)
component_parts += new /obj/item/weapon/stock_parts/manipulator(src)
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index f68bc4cc8a..b861742d90 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -329,7 +329,7 @@ Class Procs:
return FALSE
if(panel_open)
return FALSE // Close panel first!
- playsound(loc, W.usesound, 50, 1)
+ playsound(loc, W.usesound, 50, 1)
var/actual_time = W.toolspeed * time
if(actual_time != 0)
user.visible_message( \
@@ -396,6 +396,9 @@ Class Procs:
/obj/machinery/proc/dismantle()
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
+ //TFF 3/6/19 - port Cit RP fix of infinite frames.
+ if(!circuit)
+ return 0
var/obj/structure/frame/A = new /obj/structure/frame(src.loc)
var/obj/item/weapon/circuitboard/M = circuit
A.circuit = M
diff --git a/code/modules/hydroponics/seed_machines.dm b/code/modules/hydroponics/seed_machines.dm
index bc96f064c9..5f67fa077f 100644
--- a/code/modules/hydroponics/seed_machines.dm
+++ b/code/modules/hydroponics/seed_machines.dm
@@ -94,10 +94,16 @@
user << "You load [W] into [src]."
return
+//TFF 3/6/19 - fix infinite frame creation, ported from Cit RP
if(default_deconstruction_screwdriver(user, W))
return
- if(default_deconstruction_crowbar(user, W))
+ if(istype(W, /obj/item/weapon/wrench))
+ playsound(src, W.usesound, 100, 1)
+ to_chat(user, "You [anchored ? "un" : ""]secure \the [src].")
+ anchored = !anchored
return
+// if(default_deconstruction_crowbar(user, W))
+// return
if(istype(W,/obj/item/weapon/disk/botany))
if(loaded_disk)
user << "There is already a data disk loaded."
diff --git a/code/modules/mining/drilling/drill.dm b/code/modules/mining/drilling/drill.dm
index 99fe3f85ee..d3cc7e8b10 100644
--- a/code/modules/mining/drilling/drill.dm
+++ b/code/modules/mining/drilling/drill.dm
@@ -293,18 +293,18 @@
else
usr << "You must move an ore box up to the drill before you can unload it."
-
+//TFF 25/5/19 - fix infinite frame issue
/obj/machinery/mining/brace
name = "mining drill brace"
desc = "A machinery brace for an industrial drill. It looks easily two feet thick."
icon_state = "mining_brace"
+ circuit = /obj/item/weapon/circuitboard/miningdrillbrace
var/obj/machinery/mining/drill/connected
/obj/machinery/mining/brace/New()
..()
component_parts = list()
- component_parts += new /obj/item/weapon/circuitboard/miningdrillbrace(src)
/obj/machinery/mining/brace/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(connected && connected.active)
diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm
index 07dedf5b2b..569ad6e3eb 100644
--- a/code/modules/power/tesla/coil.dm
+++ b/code/modules/power/tesla/coil.dm
@@ -100,8 +100,10 @@
anchored = FALSE
density = TRUE
+//TFF 3/6/19 - Port Cit RP fix for infinite frames
can_buckle = TRUE
buckle_lying = FALSE
+ circuit = /obj/item/weapon/circuitboard/grounding_rod
/obj/machinery/power/grounding_rod/update_icon()
if(panel_open)
diff --git a/html/changelogs/Razgriz1032 - Disabled Space Dust event.yml b/html/changelogs/Razgriz1032 - Disabled Space Dust event.yml
new file mode 100644
index 0000000000..e235abc363
--- /dev/null
+++ b/html/changelogs/Razgriz1032 - Disabled Space Dust event.yml
@@ -0,0 +1,7 @@
+author: Razgriz1032
+
+
+delete-after: True
+
+changes:
+ - tweak: "All it did was spawn a bunch of spinny, yet inert, rocks in dead space. They did nothing."
\ No newline at end of file
diff --git a/html/changelogs/Razgriz1032 - Engineering cycler.yml b/html/changelogs/Razgriz1032 - Engineering cycler.yml
index 34f540606b..b6e1764e58 100644
--- a/html/changelogs/Razgriz1032 - Engineering cycler.yml
+++ b/html/changelogs/Razgriz1032 - Engineering cycler.yml
@@ -4,4 +4,4 @@ delete-after: True
changes:
- - tweak: "Engineering cycler in engineering outpost."
+ - maptweak: "Engineering cycler in engineering outpost."
diff --git a/html/changelogs/Razgriz1032 - New Shadekin - Rakshasa.yml b/html/changelogs/Razgriz1032 - New Shadekin - Rakshasa.yml
new file mode 100644
index 0000000000..c7a0b99e0f
--- /dev/null
+++ b/html/changelogs/Razgriz1032 - New Shadekin - Rakshasa.yml
@@ -0,0 +1,9 @@
+author: Razgriz1032
+
+delete-after: True
+
+changes:
+
+ - rscadd: "Adds new Shadekin to selectable custom list."
+ - tweak: "Fixes ignored indentation issues."
+ - imageadd: "New Shadekin sprites added: Rakshasa."
diff --git a/html/changelogs/Razgriz1032 - Suit Cycler Stats.yml b/html/changelogs/Razgriz1032 - Suit Cycler Stats.yml
index ca1b328ec0..756d46d192 100644
--- a/html/changelogs/Razgriz1032 - Suit Cycler Stats.yml
+++ b/html/changelogs/Razgriz1032 - Suit Cycler Stats.yml
@@ -4,4 +4,4 @@ author: Razgriz1032
delete-after: True
changes:
- - rscadd: "Suit Cycler now applies the proper armor, descriptions, and temperature protection stats to all of the engineering and medical suits."
\ No newline at end of file
+ - tweak: "Suit Cycler now applies the proper armor, descriptions, and temperature protection stats to all of the engineering and medical suits."
\ No newline at end of file
diff --git a/html/changelogs/TheFurryFeline - Infinite Frame Fixy.yml b/html/changelogs/TheFurryFeline - Infinite Frame Fixy.yml
new file mode 100644
index 0000000000..d82bd658c7
--- /dev/null
+++ b/html/changelogs/TheFurryFeline - Infinite Frame Fixy.yml
@@ -0,0 +1,6 @@
+author: TheFurryFeline
+
+delete-after: True
+
+changes:
+ - bugfix: "Fixes infinite frame production for mining drill braces and doorbell chimes and other machines. If there's no available circuit board to get, then don't return anything when attempting deconstruction. Ported from Cit RP. Eliminates 'Cannot read null.board_type' runtimes where they apply."
diff --git a/html/changelogs/WheatleytheOwl - Anno shadekin.yml b/html/changelogs/WheatleytheOwl - Anno shadekin.yml
new file mode 100644
index 0000000000..59f933b9c3
--- /dev/null
+++ b/html/changelogs/WheatleytheOwl - Anno shadekin.yml
@@ -0,0 +1,7 @@
+author: WheatleytheOwl
+
+delete-after: True
+
+changes:
+
+ - imageadd: "Adds my own shadekin's sprites to the DMI. Sharkmare did the coding, StormyRange did the sprites."