From c375d939ca2abc6b4324104117b1eea4a5dd19fe Mon Sep 17 00:00:00 2001 From: ArgobargSoup Date: Mon, 12 Nov 2018 03:56:37 -0800 Subject: [PATCH 1/6] Update accessory_vr.dm --- .../under/accessories/accessory_vr.dm | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/code/modules/clothing/under/accessories/accessory_vr.dm b/code/modules/clothing/under/accessories/accessory_vr.dm index 064f5b37b8b..ec3a2090687 100644 --- a/code/modules/clothing/under/accessories/accessory_vr.dm +++ b/code/modules/clothing/under/accessories/accessory_vr.dm @@ -27,6 +27,21 @@ icon_state = "collar_bell" item_state = "collar_bell_overlay" overlay_state = "collar_bell_overlay" + var/nospam = 0 + +/obj/item/clothing/accessory/collar/bell/verb/jinglebell() + set name = "Jingle Bell" + set category = "Object" + set src in usr + if(!istype(usr, /mob/living)) return + if(usr.stat) return + + if(!nospam) + usr.audible_message("[usr] jingles the [src]'s bell.") + nospam = 1 + sleep(30) + nospam = 0 + return /obj/item/clothing/accessory/collar/shock name = "Shock collar" @@ -164,8 +179,11 @@ item_state = "collar_holo_overlay" overlay_state = "collar_holo_overlay" -/obj/item/clothing/accessory/collar/holo/attack_self(mob/user as mob) - to_chat(user,"[name]'s interface is projected onto your hand.") +/obj/item/clothing/accessory/collar/attack_self(mob/user as mob) + if(istype(src,/obj/item/clothing/accessory/collar/holo)) + to_chat(user,"[name]'s interface is projected onto your hand.") + else + to_chat(user,"You adjust the [name]'s tag.") var/str = copytext(reject_bad_text(input(user,"Tag text?","Set tag","")),1,MAX_NAME_LEN) @@ -193,4 +211,4 @@ /obj/item/clothing/accessory/medal/silver/unity name = "medal of unity" - desc = "A silver medal awarded to a group which has demonstrated exceptional teamwork to achieve a notable feat." \ No newline at end of file + desc = "A silver medal awarded to a group which has demonstrated exceptional teamwork to achieve a notable feat." From 9dc9304204e7d98047177767b3c6c1583f05170f Mon Sep 17 00:00:00 2001 From: ArgobargSoup Date: Mon, 12 Nov 2018 14:21:57 -0800 Subject: [PATCH 2/6] Updates spam prevention variable name --- code/modules/clothing/under/accessories/accessory_vr.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/clothing/under/accessories/accessory_vr.dm b/code/modules/clothing/under/accessories/accessory_vr.dm index ec3a2090687..e11bc26bf13 100644 --- a/code/modules/clothing/under/accessories/accessory_vr.dm +++ b/code/modules/clothing/under/accessories/accessory_vr.dm @@ -27,7 +27,7 @@ icon_state = "collar_bell" item_state = "collar_bell_overlay" overlay_state = "collar_bell_overlay" - var/nospam = 0 + var/jingled = 0 /obj/item/clothing/accessory/collar/bell/verb/jinglebell() set name = "Jingle Bell" @@ -36,11 +36,11 @@ if(!istype(usr, /mob/living)) return if(usr.stat) return - if(!nospam) + if(!jingled) usr.audible_message("[usr] jingles the [src]'s bell.") - nospam = 1 + jingled = 1 sleep(30) - nospam = 0 + jingled = 0 return /obj/item/clothing/accessory/collar/shock From 32813814c82d41a503adbe8c4f7fbdb539603a28 Mon Sep 17 00:00:00 2001 From: ArgobargSoup Date: Mon, 12 Nov 2018 16:26:29 -0800 Subject: [PATCH 3/6] Update to scheduler because Aro said so Lets the callback cooldown for bell collars work. --- code/controllers/Processes/scheduler.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/controllers/Processes/scheduler.dm b/code/controllers/Processes/scheduler.dm index c852264bb75..c68ef116b6e 100644 --- a/code/controllers/Processes/scheduler.dm +++ b/code/controllers/Processes/scheduler.dm @@ -137,6 +137,7 @@ var/datum/callback/callback /datum/scheduled_task/callback/New(var/trigger_time, var/datum/callback, var/proc/task_after_process, var/list/task_after_process_args) + src.callback = callback ..(trigger_time = trigger_time, task_after_process = task_after_process, task_after_process_args = task_after_process_args) /datum/scheduled_task/callback/process() From 91d1701130541176359d835f3e387a1a57291706 Mon Sep 17 00:00:00 2001 From: ArgobargSoup Date: Mon, 12 Nov 2018 16:28:23 -0800 Subject: [PATCH 4/6] Better bell cooldown, lengthens cooldown --- code/modules/clothing/under/accessories/accessory_vr.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/clothing/under/accessories/accessory_vr.dm b/code/modules/clothing/under/accessories/accessory_vr.dm index e11bc26bf13..77b1da3ef50 100644 --- a/code/modules/clothing/under/accessories/accessory_vr.dm +++ b/code/modules/clothing/under/accessories/accessory_vr.dm @@ -39,8 +39,7 @@ if(!jingled) usr.audible_message("[usr] jingles the [src]'s bell.") jingled = 1 - sleep(30) - jingled = 0 + schedule_callback_in(5 SECONDS, VARSET_CALLBACK(src, jingled, 0)) return /obj/item/clothing/accessory/collar/shock From be9950051fa293ffa4a4c3e680dff544877a0d06 Mon Sep 17 00:00:00 2001 From: ArgobargSoup Date: Mon, 12 Nov 2018 19:42:12 -0800 Subject: [PATCH 5/6] More elaborate collar tag functionality. --- .../under/accessories/accessory_vr.dm | 51 +++++++++++++++++-- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/code/modules/clothing/under/accessories/accessory_vr.dm b/code/modules/clothing/under/accessories/accessory_vr.dm index 77b1da3ef50..d5a9aa5606c 100644 --- a/code/modules/clothing/under/accessories/accessory_vr.dm +++ b/code/modules/clothing/under/accessories/accessory_vr.dm @@ -6,6 +6,7 @@ slot_flags = SLOT_TIE | SLOT_OCLOTHING icon = 'icons/obj/clothing/collars_vr.dmi' icon_override = 'icons/obj/clothing/collars_vr.dmi' + var/writtenon = 0 /obj/item/clothing/accessory/collar/silver name = "Silver tag collar" @@ -28,14 +29,14 @@ item_state = "collar_bell_overlay" overlay_state = "collar_bell_overlay" var/jingled = 0 - + /obj/item/clothing/accessory/collar/bell/verb/jinglebell() set name = "Jingle Bell" set category = "Object" set src in usr if(!istype(usr, /mob/living)) return if(usr.stat) return - + if(!jingled) usr.audible_message("[usr] jingles the [src]'s bell.") jingled = 1 @@ -182,6 +183,8 @@ if(istype(src,/obj/item/clothing/accessory/collar/holo)) to_chat(user,"[name]'s interface is projected onto your hand.") else + if(writtenon) + return to_chat(user,"You adjust the [name]'s tag.") var/str = copytext(reject_bad_text(input(user,"Tag text?","Set tag","")),1,MAX_NAME_LEN) @@ -193,7 +196,49 @@ else to_chat(user,"You set the [name]'s tag to '[str]'.") name = initial(name) + " ([str])" - desc = initial(desc) + " The tag says \"[str]\"." + if(istype(src,/obj/item/clothing/accessory/collar/holo)) + desc = initial(desc) + " The tag says \"[str]\"." + else + desc = initial(desc) + " \"[str]\" has been engraved on the tag." + writtenon = 1 + +/obj/item/clothing/accessory/collar/attackby(obj/item/I, mob/user) + if(istype(src,/obj/item/clothing/accessory/collar/holo)) + return + + if(istype(I,/obj/item/weapon/tool/screwdriver)) + update_collartag(user, I, "scratched out", "scratch out", "engraved") + return + + if(istype(I,/obj/item/weapon/pen)) + update_collartag(user, I, "crossed out", "cross out", "written") + return + + to_chat(user,"You need a pen or a screwdriver to edit the tag on this collar.") + +/obj/item/clothing/accessory/collar/proc/update_collartag(mob/user, obj/item/I, var/erasemethod, var/erasing, var/writemethod) + if(!(istype(user.get_active_hand(),I)) || !(istype(user.get_inactive_hand(),src)) || (user.stat)) + return + + var/str = copytext(reject_bad_text(input(user,"Tag text?","Set tag","")),1,MAX_NAME_LEN) + + if(!str || !length(str)) + if(!writtenon) + to_chat(user,"You don't write anything.") + else + to_chat(user,"You [erasing] the words with the [I].") + name = initial(name) + desc = initial(desc) + " The tag has had the words [erasemethod]." + else + if(!writtenon) + to_chat(user,"You write '[str]' on the tag with the [I].") + name = initial(name) + " ([str])" + desc = initial(desc) + " \"[str]\" has been [writemethod] on the tag." + writtenon = 1 + else + to_chat(user,"You [erasing] the words on the tag with the [I], and write '[str]'.") + name = initial(name) + " ([str])" + desc = initial(desc) + " Something has been [erasemethod] on the tag, and it now has \"[str]\" [writemethod] on it." //Machete Holsters /obj/item/clothing/accessory/holster/machete From 552e040aad8ecfe8832916f62e5f41b52e518e59 Mon Sep 17 00:00:00 2001 From: ArgobargSoup Date: Mon, 12 Nov 2018 20:54:44 -0800 Subject: [PATCH 6/6] Update accessory_vr.dm --- code/modules/clothing/under/accessories/accessory_vr.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/clothing/under/accessories/accessory_vr.dm b/code/modules/clothing/under/accessories/accessory_vr.dm index d5a9aa5606c..25148b88132 100644 --- a/code/modules/clothing/under/accessories/accessory_vr.dm +++ b/code/modules/clothing/under/accessories/accessory_vr.dm @@ -184,6 +184,7 @@ to_chat(user,"[name]'s interface is projected onto your hand.") else if(writtenon) + to_chat(user,"You need a pen or a screwdriver to edit the tag on this collar.") return to_chat(user,"You adjust the [name]'s tag.")