diff --git a/code/__DEFINES/spans.dm b/code/__DEFINES/spans.dm index 636cc123f694..cc800907ee1b 100644 --- a/code/__DEFINES/spans.dm +++ b/code/__DEFINES/spans.dm @@ -15,6 +15,8 @@ #define SPAN_ALERTSYNDIE(str) ("[str]") #define SPAN_ALERTWARNING(str) ("[str]") #define SPAN_ALIEN(str) ("[str]") +#define SPAN_ALLOY(str) ("[str]") +#define SPAN_ALLOYH(str) ("[str]") #define SPAN_ANNOUNCE(str) ("[str]") #define SPAN_BIG(str) ("[str]") #define SPAN_BIGICON(str) ("[str]") @@ -27,6 +29,10 @@ #define SPAN_BOLDNICEGREEN(str) ("[str]") #define SPAN_BOLDNOTICE(str) ("[str]") #define SPAN_BOLDWARNING(str) ("[str]") +#define SPAN_BRASS(str) ("[str]") +#define SPAN_BRASSH(str) ("[str]") +#define SPAN_BRASSL(str) ("[str]") +#define SPAN_BRASSBIG(str) ("[str]") #define SPAN_CAUTION(str) ("[str]") #define SPAN_CENTCOMRADIO(str) ("[str]") #define SPAN_CHANGELING(str) ("[str]") @@ -70,6 +76,8 @@ #define SPAN_HOLOPARASITE(str) ("[str]") #define SPAN_HYPNOPHRASE(str) ("[str]") #define SPAN_ICON(str) ("[str]") +#define SPAN_INATHNEQ(str) ("[str]") +#define SPAN_INATHNEQL(str) ("[str]") #define SPAN_INFO(str) ("[str]") #define SPAN_INFOPLAIN(str) ("[str]") #define SPAN_INTERFACE(str) ("[str]") @@ -87,6 +95,12 @@ #define SPAN_NAME(str) ("[str]") #define SPAN_NARSIE(str) ("[str]") #define SPAN_NARSIESMALL(str) ("[str]") +#define SPAN_NEOVGRE(str) (" [str]") +#define SPAN_NEOVGREL(str) (" [str]") +#define SPAN_NEZBERE(str) ("[str]") +#define SPAN_NEZBIG(str) ("[str]") +#define SPAN_NZCRENTR(str) ("[str]") +#define SPAN_NZCRENTRL(str) ("[str]") #define SPAN_NICEGREEN(str) ("[str]") #define SPAN_NOTICE(str) ("[str]") #define SPAN_NOTICEALIEN(str) ("[str]") @@ -96,6 +110,7 @@ #define SPAN_PREFIX(str) ("[str]") #define SPAN_PURPLE(str) ("[str]") #define SPAN_RADIO(str) ("[str]") +#define SPAN_RATVAR(str) (" [str]") #define SPAN_REALLYBIG(str) ("[str]") #define SPAN_RED(str) ("[str]") #define SPAN_REDTEAMRADIO(str) ("[str]") diff --git a/code/datums/recipe/crafting_recipes/recipes_misc.dm b/code/datums/recipe/crafting_recipes/recipes_misc.dm index bcf6f22c2326..6987bfab63e3 100644 --- a/code/datums/recipe/crafting_recipes/recipes_misc.dm +++ b/code/datums/recipe/crafting_recipes/recipes_misc.dm @@ -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, diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm index 8ba3998b45cd..110c1dff228d 100644 --- a/code/datums/wires/wires.dm +++ b/code/datums/wires/wires.dm @@ -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 diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index e01568003e6a..a71bc7960652 100755 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -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" diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index 6edc8c1509e6..dfe31232e3fc 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -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. \ diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index 23677846cb63..97b88dc95a26 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -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 \ diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index d38cc6803c39..6d0f98383f86 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -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!" diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index aad6ae7ee72b..a9130e52b645 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -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 \ diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index c05c30db45d8..bd0e432b67f8 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -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." diff --git a/code/game/objects/random/misc.dm b/code/game/objects/random/misc.dm index 00afd7eb9927..5ac89312c446 100644 --- a/code/game/objects/random/misc.dm +++ b/code/game/objects/random/misc.dm @@ -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." @@ -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 diff --git a/icons/obj/clockwork.dmi b/icons/obj/clockwork.dmi new file mode 100644 index 000000000000..7c76a5dec704 Binary files /dev/null and b/icons/obj/clockwork.dmi differ