Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Woah! Nice Clock(work tools)! #6068

Merged
merged 18 commits into from
Oct 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions code/__DEFINES/spans.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
#define SPAN_ALERTSYNDIE(str) ("<span class='alertsyndie'>[str]</span>")
#define SPAN_ALERTWARNING(str) ("<span class='alertwarning'>[str]</span>")
#define SPAN_ALIEN(str) ("<span class='alien'>[str]</span>")
#define SPAN_ALLOY(str) ("<span class = 'alloy'>[str]</span>")
#define SPAN_ALLOYH(str) ("<span class = 'heavy_alloy'>[str]</span>")
#define SPAN_ANNOUNCE(str) ("<span class='announce'>[str]</span>")
#define SPAN_BIG(str) ("<span class='big'>[str]</span>")
#define SPAN_BIGICON(str) ("<span class='bigicon'>[str]</span>")
Expand All @@ -27,6 +29,10 @@
#define SPAN_BOLDNICEGREEN(str) ("<span class='boldnicegreen'>[str]</span>")
#define SPAN_BOLDNOTICE(str) ("<span class='boldnotice'>[str]</span>")
#define SPAN_BOLDWARNING(str) ("<span class='boldwarning'>[str]</span>")
#define SPAN_BRASS(str) ("<span class = 'brass'>[str]</span>")
#define SPAN_BRASSH(str) ("<span class = 'heavy_brass'>[str]</span>")
#define SPAN_BRASSL(str) ("<span class = 'large_brass'>[str]</span>")
#define SPAN_BRASSBIG(str) ("<span class = 'big_brass'>[str]</span>")
#define SPAN_CAUTION(str) ("<span class='caution'>[str]</span>")
#define SPAN_CENTCOMRADIO(str) ("<span class='centcomradio'>[str]</span>")
#define SPAN_CHANGELING(str) ("<span class='changeling'>[str]</span>")
Expand Down Expand Up @@ -70,6 +76,8 @@
#define SPAN_HOLOPARASITE(str) ("<span class='holoparasite'>[str]</span>")
#define SPAN_HYPNOPHRASE(str) ("<span class='hypnophrase'>[str]</span>")
#define SPAN_ICON(str) ("<span class='icon'>[str]</span>")
#define SPAN_INATHNEQ(str) ("<span class = 'inathneq'>[str]</span>")
#define SPAN_INATHNEQL(str) ("<span class = 'inathneq_large'>[str]</span>")
#define SPAN_INFO(str) ("<span class='info'>[str]</span>")
#define SPAN_INFOPLAIN(str) ("<span class='infoplain'>[str]</span>")
#define SPAN_INTERFACE(str) ("<span class='interface'>[str]</span>")
Expand All @@ -87,6 +95,12 @@
#define SPAN_NAME(str) ("<span class='name'>[str]</span>")
#define SPAN_NARSIE(str) ("<span class='narsie'>[str]</span>")
#define SPAN_NARSIESMALL(str) ("<span class='narsiesmall'>[str]</span>")
#define SPAN_NEOVGRE(str) ("<span class = 'neovgre'> [str]</span>")
#define SPAN_NEOVGREL(str) ("<span class = 'neovgre_large'> [str]</span>")
#define SPAN_NEZBERE(str) ("<span class = 'nezbere'>[str]</span>")
#define SPAN_NEZBIG(str) ("<span class = 'nezbere_large'>[str]</span>")
#define SPAN_NZCRENTR(str) ("<span class = 'nzcrentr'>[str]</span>")
#define SPAN_NZCRENTRL(str) ("<span class = 'nzcrentr_large'>[str]</span>")
#define SPAN_NICEGREEN(str) ("<span class='nicegreen'>[str]</span>")
#define SPAN_NOTICE(str) ("<span class='notice'>[str]</span>")
#define SPAN_NOTICEALIEN(str) ("<span class='noticealien'>[str]</span>")
Expand All @@ -96,6 +110,7 @@
#define SPAN_PREFIX(str) ("<span class='prefix'>[str]</span>")
#define SPAN_PURPLE(str) ("<span class='purple'>[str]</span>")
#define SPAN_RADIO(str) ("<span class='radio'>[str]</span>")
#define SPAN_RATVAR(str) ("<span class = 'ratvar'> [str]</span>")
#define SPAN_REALLYBIG(str) ("<span class='reallybig'>[str]</span>")
#define SPAN_RED(str) ("<span class='red'>[str]</span>")
#define SPAN_REDTEAMRADIO(str) ("<span class='redteamradio'>[str]</span>")
Expand Down
15 changes: 15 additions & 0 deletions code/datums/recipe/crafting_recipes/recipes_misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,21 @@
subcategory = CAT_TOOL
category = CAT_MISCELLANEOUS

/datum/crafting_recipe/clockwelder
name = "Replica Clockwork Welding Tool"
tools = list(/obj/item/cell/high,
/obj/item/reagent_containers/glass/beaker)
result = /obj/item/weldingtool/experimental/brass
reqs = list(/obj/item/weldingtool/experimental = 1,
/obj/item/stack/cable_coil = 20,
/obj/item/stack/material/brass = 5,
/datum/reagent/water = 25
)
time = 40
//always_available = FALSE
subcategory = CAT_TOOL
category = CAT_MISCELLANEOUS

/datum/crafting_recipe/brass_wirecutters
name = "Brass Wirecutters"
tools = list(/obj/item/cell/high,
Expand Down
2 changes: 1 addition & 1 deletion code/datums/wires/wires.dm
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@
// if(user.can_admin_interact())
// return TRUE
var/obj/item/I = user.get_active_held_item()
if(istype(I, /obj/item/multitool/alien))
if(istype(I, /obj/item/multitool/alien) || istype(I, /obj/item/multitool/clockwork))
return TRUE
return FALSE

Expand Down
12 changes: 12 additions & 0 deletions code/game/objects/items/devices/multitool.dm
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,18 @@
origin_tech = list(TECH_MAGNET = 5, TECH_ENGINEERING = 5)
colorable = 0

/obj/item/multitool/clockwork
name = "clockwork multitool"
desc = "A slender brass device, adorned with three prongs pulsing with energy, a faintly glowing red gem, and a screen in the shape of an eye."
icon = 'icons/obj/clockwork.dmi'
icon_state = "multitool"
tool_speed = 0.1
colorable = 0

/obj/item/multitool/clockwork/examine(mob/user, dist)
. = ..()
. += SPAN_NZCRENTR("The multitool seems to flash and pulse with impatience, the 'eye' appearing to be both bored and frustrated.")

//Colored Variants
/obj/item/multitool/red
color_overlay = "multi_r"
Expand Down
12 changes: 12 additions & 0 deletions code/game/objects/items/tools/crowbar.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,18 @@
icon_state = "crowbar_brass"
tool_speed = 0.75

/obj/item/tool/crowbar/clockwork
name = "clockwork crowbar"
desc = "An engraved piece of compressed brass, capable of prying things up and open with un-natural ease."
icon = 'icons/obj/clockwork.dmi'
icon_state = "crowbar_clock"
tool_sound = 'sound/magic/clockwork/fellowship_armory.ogg'
tool_speed = 0.1

/obj/item/tool/crowbar/clockwork/examine(mob/user, dist)
. = ..()
. += SPAN_BRASS("The handle feels almost frozen when moving to pry, cementing the hand grippping it to the handle, making leverage easier.")

/datum/category_item/catalogue/anomalous/precursor_a/alien_crowbar
name = "Precursor Alpha Object - Hard Light Pry Tool"
desc = "An object which bears striking resemblence to the common crowbar. \
Expand Down
13 changes: 13 additions & 0 deletions code/game/objects/items/tools/screwdriver.dm
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,19 @@
tool_speed = 0.75
random_color = FALSE

/obj/item/tool/screwdriver/clockwork
name = "clockwork screwdriver"
desc = "An all-brass screwdriver with what looks to be an uncut driver. Despite that, it seems to fit any channel it is put in."
icon = 'icons/obj/clockwork.dmi'
icon_state = "screwdriver_clock"
tool_sound = 'sound/machines/clockcult/integration_cog_install.ogg'
tool_speed = 0.1
random_color = FALSE

/obj/item/tool/screwdriver/clockwork/examine(mob/user, dist)
. = ..()
. += SPAN_NEZBERE("When focused intensely upon, the screwdriver's head seems to shift between multiple states all at once, common and uncommon drivers for various screw channels. Additionally, when inserted into a screw channel, it exhibits intense magnetism.")

/datum/category_item/catalogue/anomalous/precursor_a/alien_screwdriver
name = "Precursor Alpha Object - Hard Light Torgue Tool"
desc = "This appears to be a tool, with a solid handle, and a thin hard light \
Expand Down
26 changes: 26 additions & 0 deletions code/game/objects/items/tools/weldingtool.dm
Original file line number Diff line number Diff line change
Expand Up @@ -447,6 +447,32 @@
nextrefueltick = world.time + 10
reagents.add_reagent("fuel", 1)

/obj/item/weldingtool/experimental/brass
name = "replica clockwork welding tool"
desc = "A re-engineered experimental welder. It sports anti-corrosive brass fittings, and a further refined fuel system."
icon = 'icons/obj/clockwork.dmi'
icon_state = "clockwelder"
max_fuel = 50
tool_speed = 0.4
flame_color = "#990000" // deep red, as the sprite shows
change_icons = 0

/obj/item/weldingtool/experimental/clockwork
name = "clockwork welding tool"
desc = "An antique welding tool, adorned with brass, and a brilliant red gem as the fuel tank. It neither runs out of fuel, nor harms the unprotected eye."
icon = 'icons/obj/clockwork.dmi'
icon_state = "clockwelder"
max_fuel = 100
eye_safety_modifier = 2
tool_sound = 'sound/machines/clockcult/steam_whoosh.ogg'
tool_speed = 0.1
flame_color = "#990000" // deep red, as above, so below
change_icons = 0

/obj/item/weldingtool/experimental/clockwork/examine(mob/user, dist)
. = ..()
. += SPAN_NEZBERE("Sometimes, the best masterworks are lessons in rediscovering simplicity. Thousands upon thousands of these passed through the Great Forgeworks, and out into the void. Treasure this find, friend.")

/obj/item/weldingtool/experimental/hybrid
name = "strange welding tool"
desc = "An experimental welder capable of synthesizing its own fuel from spatial waveforms. It's like welding with a star!"
Expand Down
12 changes: 12 additions & 0 deletions code/game/objects/items/tools/wirecutters.dm
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,18 @@
tool_speed = 0.75
random_color = FALSE

/obj/item/tool/wirecutters/clockwork
name = "clockwork wirecutters"
desc = "An antiquated pair of wirecutters, fashioned out of extremely dense brass."
icon = 'icons/obj/clockwork.dmi'
icon_state = "cutters_clock"
tool_speed = 0.1
random_color = FALSE

/obj/item/tool/wirecutters/clockwork/examine(mob/user, dist)
. = ..()
. += SPAN_NEZBERE("The blades are utterly dull and impotent when placed against flesh, yet cuts with an unreasonable, almost murderously sharp edge when set upon wires and metal sheets.")

/datum/category_item/catalogue/anomalous/precursor_a/alien_wirecutters
name = "Precursor Alpha Object - Wire Seperator"
desc = "An object appearing to have a tool shape. It has two handles, and two \
Expand Down
13 changes: 13 additions & 0 deletions code/game/objects/items/tools/wrench.dm
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,19 @@
tool_speed = 0.75
random_color = FALSE

/obj/item/tool/wrench/clockwork
name = "clockwork wrench"
desc = "A wrench cast completely out of brass, with a head that perfectly affixes to anything it's braced around."
icon = 'icons/obj/clockwork.dmi'
icon_state = "wrench_clock"
tool_sound = 'sound/machines/clockcult/integration_cog_install.ogg'
tool_speed = 0.1
random_color = FALSE

/obj/item/tool/wrench/clockwork/examine(mob/user, dist)
. = ..()
. += SPAN_BRASS("Holding onto the tool makes it thrum in your hand, as if anticipating the work that needs to be done.")

/obj/item/tool/wrench/cyborg
name = "automatic wrench"
desc = "An advanced robotic wrench. Can be found in industrial synthetic shells."
Expand Down
14 changes: 14 additions & 0 deletions code/game/objects/random/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,19 @@
/obj/item/stack/cable_coil/alien,
/obj/item/multitool/alien)

/obj/random/tool/clockwork
name = "random clockwork tool"
desc = "This is a random clockwork tool"
icon_state = "clockwelder"

/obj/random/tool/clockwork/item_to_spawn()
return pick (/obj/item/tool/screwdriver/clockwork,
/obj/item/tool/wirecutters/clockwork,
/obj/item/weldingtool/experimental/clockwork,
/obj/item/tool/crowbar/clockwork,
/obj/item/tool/wrench/clockwork,
/obj/item/multitool/clockwork)

/obj/random/technology_scanner
name = "random scanner"
desc = "This is a random technology scanner."
Expand Down Expand Up @@ -975,6 +988,7 @@
prob(2);/obj/random/multiple/minevault,
prob(1);/obj/random/coin,
prob(1);/obj/random/drinkbottle,
prob(1);/obj/random/tool/clockwork,
prob(1);/obj/random/tool/alien)

/obj/random/slimecore
Expand Down
Binary file added icons/obj/clockwork.dmi
Binary file not shown.
Loading