From 84ae085166f44d04c44a2665874d366e7d255476 Mon Sep 17 00:00:00 2001 From: datlo Date: Thu, 5 Jul 2018 16:10:53 +0100 Subject: [PATCH 1/4] Changes RSF error message to be more accurate The RSF cannot, in fact, create service items on floors. As amusing as dosh on every floor tile would be, I think it's best to just change the message and not functionality. --- code/game/objects/items/weapons/RSF.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm index 835de7617ee..4da14cceaae 100644 --- a/code/game/objects/items/weapons/RSF.dm +++ b/code/game/objects/items/weapons/RSF.dm @@ -64,7 +64,7 @@ RSF else if (istype(A, /obj/structure/table)) spawn_location = A else - to_chat(user, "The RSF can only create service items on tables, or floors.") + to_chat(user, "The RSF can only create service items on tables.") return if(isrobot(user)) From d26b4c4e7e76c91612bf0448db0092860630182e Mon Sep 17 00:00:00 2001 From: datlo Date: Fri, 6 Jul 2018 06:37:52 +0100 Subject: [PATCH 2/4] Allows RSF to spawn items on floors --- code/game/objects/items/weapons/RSF.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm index 4da14cceaae..f311507c128 100644 --- a/code/game/objects/items/weapons/RSF.dm +++ b/code/game/objects/items/weapons/RSF.dm @@ -61,10 +61,10 @@ RSF var spawn_location if(istype(A, /obj/structure/table)) spawn_location = A.loc - else if (istype(A, /obj/structure/table)) + else if (istype(A, /obj/structure/floor)) spawn_location = A else - to_chat(user, "The RSF can only create service items on tables.") + to_chat(user, "The RSF can only create service items on tables, or floors.") return if(isrobot(user)) From e4215cf0f518264a489255da5892558c35c84250 Mon Sep 17 00:00:00 2001 From: datlo Date: Fri, 6 Jul 2018 06:57:53 +0100 Subject: [PATCH 3/4] Actually allows RSF to spawn on floors derp'd --- code/game/objects/items/weapons/RSF.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm index f311507c128..02f6d878511 100644 --- a/code/game/objects/items/weapons/RSF.dm +++ b/code/game/objects/items/weapons/RSF.dm @@ -61,7 +61,7 @@ RSF var spawn_location if(istype(A, /obj/structure/table)) spawn_location = A.loc - else if (istype(A, /obj/structure/floor)) + else if (istype(A, /turf/simulated/floor)) spawn_location = A else to_chat(user, "The RSF can only create service items on tables, or floors.") From 0e9b583caf1ef7715561d8b305d5f5bb38e15f26 Mon Sep 17 00:00:00 2001 From: datlo Date: Sat, 7 Jul 2018 07:50:31 +0100 Subject: [PATCH 4/4] Combined table and floor check --- code/game/objects/items/weapons/RSF.dm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm index 02f6d878511..62b203e43b1 100644 --- a/code/game/objects/items/weapons/RSF.dm +++ b/code/game/objects/items/weapons/RSF.dm @@ -57,16 +57,13 @@ RSF if(!proximity) return if(!(istype(A, /obj/structure/table) || istype(A, /turf/simulated/floor))) return - var spawn_location - if(istype(A, /obj/structure/table)) - spawn_location = A.loc - else if (istype(A, /turf/simulated/floor)) - spawn_location = A + var/turf/T = get_turf(A) + if(istype(T) && !T.density) + spawn_location = T else to_chat(user, "The RSF can only create service items on tables, or floors.") return - if(isrobot(user)) var/mob/living/silicon/robot/engy = user if(!engy.cell.use(configured_items[mode][2]))