diff --git a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm index 15dc5bbe52..3411bb1a28 100644 --- a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm +++ b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm @@ -6,6 +6,7 @@ Clockwork slabs will only make components if held or if inside an item held by a human, and when making a component will prevent all other slabs held from making components.\n\ Hitting a slab, a Servant with a slab, or a cache will transfer this slab's components into the target, the target's slab, or the global cache, respectively." icon_state = "dread_ipad" + var/inhand_overlay //If applicable, this overlay will be applied to the slab's inhand slot_flags = SLOT_BELT w_class = WEIGHT_CLASS_SMALL var/list/stored_components = list(BELLIGERENT_EYE = 0, VANGUARD_COGWHEEL = 0, GEIS_CAPACITOR = 0, REPLICANT_ALLOY = 0, HIEROPHANT_ANSIBLE = 0) @@ -105,6 +106,12 @@ . = ..() addtimer(CALLBACK(src, .proc/check_on_mob, user), 1) //dropped is called before the item is out of the slot, so we need to check slightly later +/obj/item/clockwork/slab/worn_overlays(isinhands = FALSE, icon_file) + . = list() + if(isinhands && item_state && inhand_overlay) + var/mutable_appearance/M = mutable_appearance(icon_file, "slab_[inhand_overlay]") + . += M + /obj/item/clockwork/slab/proc/check_on_mob(mob/user) if(user && !(src in user.held_items) && slab_ability && slab_ability.ranged_ability_user) //if we happen to check and we AREN'T in user's hands, remove whatever ability we have slab_ability.remove_ranged_ability() diff --git a/code/game/gamemodes/clock_cult/clock_scripture.dm b/code/game/gamemodes/clock_cult/clock_scripture.dm index 2b30099ac5..f429a4b719 100644 --- a/code/game/gamemodes/clock_cult/clock_scripture.dm +++ b/code/game/gamemodes/clock_cult/clock_scripture.dm @@ -259,7 +259,7 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or //Uses a ranged slab ability, returning only when the ability no longer exists(ie, when interrupted) or finishes. /datum/clockwork_scripture/ranged_ability - var/slab_icon = "dread_ipad" + var/slab_overlay var/ranged_type = /obj/effect/proc_holder/slab var/ranged_message = "This is a huge goddamn bug, how'd you cast this?" var/timeout_time = 0 @@ -271,7 +271,10 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or return ..() /datum/clockwork_scripture/ranged_ability/scripture_effects() - slab.icon_state = slab_icon + if(slab_overlay) + slab.add_overlay(slab_overlay) + slab.item_state = "clockwork_slab" + slab.inhand_overlay = slab_overlay slab.slab_ability = new ranged_type(slab) slab.slab_ability.slab = slab slab.slab_ability.add_ranged_ability(invoker, ranged_message) @@ -294,7 +297,9 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or successful = slab.slab_ability.successful if(!slab.slab_ability.finished) slab.slab_ability.remove_ranged_ability() - slab.icon_state = "dread_ipad" + slab.cut_overlays() + slab.item_state = initial(slab.item_state) + slab.inhand_overlay = null if(invoker) invoker.update_inv_hands() return successful //slab doesn't look like a word now. diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_cyborg.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_cyborg.dm index e978309f57..85574db6b9 100644 --- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_cyborg.dm +++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_cyborg.dm @@ -9,7 +9,7 @@ channel_time = 30 primary_component = VANGUARD_COGWHEEL quickbind_desc = "Allows you to grant a Servant and yourself stun immunity, as the Vanguard scripture.
Click your slab to disable." - slab_icon = "vanguard" + slab_overlay = "vanguard" ranged_type = /obj/effect/proc_holder/slab/vanguard ranged_message = "You charge the clockwork slab with defensive strength.\n\ Left-click a fellow Servant or yourself to grant Vanguard!\n\ @@ -38,7 +38,7 @@ channel_time = 30 primary_component = BELLIGERENT_EYE quickbind_desc = "Allows you to place a Judicial Marker to knock down and damage non-Servants in an area.
Click your slab to disable." - slab_icon = "judicial" + slab_overlay = "judicial" ranged_type = /obj/effect/proc_holder/slab/judicial ranged_message = "You charge the clockwork slab with judicial force.\n\ Left-click a target to place a Judicial Marker!\n\ diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm index 7fa96f9507..91ad4d586b 100644 --- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm +++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm @@ -90,7 +90,7 @@ sort_priority = 4 quickbind = TRUE quickbind_desc = "Allows you to convert a Servant's brute, burn, and oxygen damage to half toxin damage.
Click your slab to disable." - slab_icon = "compromise" + slab_overlay = "compromise" ranged_type = /obj/effect/proc_holder/slab/compromise ranged_message = "You charge the clockwork slab with healing power.\n\ Left-click a fellow Servant or yourself to heal!\n\ @@ -111,7 +111,7 @@ sort_priority = 5 quickbind = TRUE quickbind_desc = "Allows you to bind and start converting an adjacent target non-Servant.
Click your slab to disable." - slab_icon = "geis" + slab_overlay = "geis" ranged_type = /obj/effect/proc_holder/slab/geis ranged_message = "You charge the clockwork slab with divine energy.\n\ Left-click a target within melee range to convert!\n\ diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm index 6d8402ede0..47558a5ee9 100644 --- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm +++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm @@ -386,7 +386,7 @@ /datum/clockwork_scripture/ranged_ability/volt_ray name = "Volt Ray" - slab_icon = "volt" + slab_overlay = "volt" allow_mobility = FALSE ranged_type = /obj/effect/proc_holder/slab/volt ranged_message = "You charge the clockwork slab with shocking might.\n\ diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 5feb604e3f..414d12d508 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index efd567f13a..e6c633294e 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ