From daf2e48c17b50e5252f9766814e915e1f2ecac30 Mon Sep 17 00:00:00 2001 From: itseasytosee <55666666+itseasytosee@users.noreply.github.com> Date: Sat, 25 Apr 2020 14:43:35 -0500 Subject: [PATCH] Clowns now require their shoes to slip people while laying down (#50650) * powerclown * Fix * To chat * You displease me * Great * awsum * Update code/datums/components/slippery.dm Co-Authored-By: JJRcop Co-authored-by: JJRcop --- code/datums/components/slippery.dm | 11 +++++++++++ code/game/objects/items/devices/PDA/PDA_types.dm | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/code/datums/components/slippery.dm b/code/datums/components/slippery.dm index ace6116b484..130f26a0504 100644 --- a/code/datums/components/slippery.dm +++ b/code/datums/components/slippery.dm @@ -23,3 +23,14 @@ /datum/component/slippery/proc/Slip_on_wearer(datum/source, atom/movable/AM, mob/living/crossed) if(!(crossed.mobility_flags & MOBILITY_STAND) && !crossed.buckle_lying) Slip(source, AM) + +/datum/component/slippery/clowning //used for making the clown PDA only slip if the clown is wearing his shoes and the elusive banana-skin belt + +/datum/component/slippery/clowning/Slip_on_wearer(datum/source, atom/movable/AM, mob/living/crossed) + var/obj/item/I = crossed.get_item_by_slot(ITEM_SLOT_FEET) + if(!(crossed.mobility_flags & MOBILITY_STAND) && !crossed.buckle_lying) + if(istype(I, /obj/item/clothing/shoes/clown_shoes)) + Slip(source, AM) + else + to_chat(crossed,"[parent] failed to slip anyone. Perhaps I shouldn't have abandoned my legacy...") + diff --git a/code/game/objects/items/devices/PDA/PDA_types.dm b/code/game/objects/items/devices/PDA/PDA_types.dm index 8c7c3115fbf..8d7ce84dbae 100644 --- a/code/game/objects/items/devices/PDA/PDA_types.dm +++ b/code/game/objects/items/devices/PDA/PDA_types.dm @@ -9,7 +9,7 @@ /obj/item/pda/clown/ComponentInitialize() . = ..() - AddComponent(/datum/component/slippery, 120, NO_SLIP_WHEN_WALKING, CALLBACK(src, .proc/AfterSlip)) + AddComponent(/datum/component/slippery/clowning, 120, NO_SLIP_WHEN_WALKING, CALLBACK(src, .proc/AfterSlip)) /obj/item/pda/clown/proc/AfterSlip(mob/living/carbon/human/M) if (istype(M) && (M.real_name != owner))