diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 0c4398b1c34..9fa70b60130 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -1004,9 +1004,7 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine /obj/item/weapon/reagent_containers/glass/bucket, /obj/item/weapon/reagent_containers/glass/bucket, /obj/item/weapon/mop, - /obj/item/weapon/caution, - /obj/item/weapon/caution, - /obj/item/weapon/caution, + /obj/item/weapon/holosign_creator, /obj/item/weapon/storage/bag/trash, /obj/item/weapon/reagent_containers/spray/cleaner, /obj/item/weapon/reagent_containers/glass/rag, diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 907c6d89143..e5b26cc3038 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -95,18 +95,6 @@ icon = 'icons/obj/items.dmi' -/obj/item/weapon/caution - desc = "Caution! Wet Floor!" - name = "wet floor sign" - icon = 'icons/obj/janitor.dmi' - icon_state = "caution" - force = 1.0 - throwforce = 3.0 - throw_speed = 2 - throw_range = 5 - w_class = 2.0 - attack_verb = list("warned", "cautioned", "smashed") - /obj/item/weapon/rack_parts name = "rack parts" desc = "Parts of a rack." diff --git a/code/game/objects/items/weapons/janisigns.dm b/code/game/objects/items/weapons/janisigns.dm new file mode 100644 index 00000000000..fa781dec768 --- /dev/null +++ b/code/game/objects/items/weapons/janisigns.dm @@ -0,0 +1,61 @@ +/obj/item/weapon/holosign_creator + name = "holographic sign projector" + desc = "A handy-dandy hologaphic projector that displays a janitorial sign." + icon = 'icons/obj/janitor.dmi' + icon_state = "signmaker" + item_state = "electronic" + force = 5 + w_class = 2 + throwforce = 0 + throw_speed = 3 + throw_range = 7 + origin_tech = "programming=3" + var/list/signs = list() + var/max_signs = 10 + +/obj/item/weapon/holosign_creator/afterattack(atom/target, mob/user, flag) + if(flag) + var/turf/T = get_turf(target) + var/obj/effect/overlay/holograph/H = locate() in T + if(H) + user << "You use [src] to destroy [H]." + qdel(H) + else + if(signs.len < max_signs) + H = new(get_turf(target)) + signs += H + user << "You create \a [H] with [src]." + else + user << "[src] is projecting at max capacity!" + +/obj/item/weapon/holosign_creator/attack(mob/living/carbon/human/M, mob/user) + return + +/obj/item/weapon/holosign_creator/attack_self(mob/user) + if(signs.len) + var/list/L = signs.Copy() + for(var/sign in L) + qdel(sign) + signs -= sign + user << "You clear all active holograms." + + +/obj/effect/overlay/holograph + name = "wet floor sign" + desc = "The words flicker as if they mean nothing." + icon = 'icons/obj/janitor.dmi' + icon_state = "holosign" + anchored = 1 + + +/obj/item/weapon/caution + desc = "Caution! Wet Floor!" + name = "wet floor sign" + icon = 'icons/obj/janitor.dmi' + icon_state = "caution" + force = 1.0 + throwforce = 3.0 + throw_speed = 2 + throw_range = 5 + w_class = 2.0 + attack_verb = list("warned", "cautioned", "smashed") diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index bb45281340e..e2daf1f9994 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -196,5 +196,6 @@ /obj/item/device/lightreplacer, /obj/item/device/flashlight, /obj/item/weapon/reagent_containers/spray, - /obj/item/weapon/soap + /obj/item/weapon/soap, + /obj/item/weapon/holosign_creator ) \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm index 4452056525f..2a10446e1ff 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -74,10 +74,7 @@ new /obj/item/clothing/gloves/black(src) new /obj/item/clothing/head/soft/purple(src) new /obj/item/device/flashlight(src) - new /obj/item/weapon/caution(src) - new /obj/item/weapon/caution(src) - new /obj/item/weapon/caution(src) - new /obj/item/weapon/caution(src) + new /obj/item/weapon/holosign_creator(src) new /obj/item/device/lightreplacer(src) new /obj/item/weapon/storage/bag/trash(src) new /obj/item/clothing/shoes/galoshes(src) diff --git a/html/changelogs/Paprka-PR-5137.yml b/html/changelogs/Paprka-PR-5137.yml new file mode 100644 index 00000000000..9a277d228ec --- /dev/null +++ b/html/changelogs/Paprka-PR-5137.yml @@ -0,0 +1,4 @@ +author: Paprka +delete-after: True +changes: + - rscadd: "Added a holographic sign projector to replace the old wet floor signs to encourage janitors to warn crewmembers about wet floors." \ No newline at end of file diff --git a/icons/obj/janitor.dmi b/icons/obj/janitor.dmi index 7a7985b8189..4610bfd75b8 100644 Binary files a/icons/obj/janitor.dmi and b/icons/obj/janitor.dmi differ diff --git a/tgstation.dme b/tgstation.dme index d931be35685..7e74667214a 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -557,6 +557,7 @@ #include "code\game\objects\items\weapons\flamethrower.dm" #include "code\game\objects\items\weapons\gift_wrappaper.dm" #include "code\game\objects\items\weapons\handcuffs.dm" +#include "code\game\objects\items\weapons\janisigns.dm" #include "code\game\objects\items\weapons\kitchen.dm" #include "code\game\objects\items\weapons\manuals.dm" #include "code\game\objects\items\weapons\mop.dm"