diff --git a/code/modules/mining/equipment/mineral_scanner.dm b/code/modules/mining/equipment/mineral_scanner.dm index 9ccb7c0efc..bd5ce44998 100644 --- a/code/modules/mining/equipment/mineral_scanner.dm +++ b/code/modules/mining/equipment/mineral_scanner.dm @@ -12,13 +12,14 @@ slot_flags = ITEM_SLOT_BELT var/cooldown = 35 var/current_cooldown = 0 + var/range = 7 /obj/item/mining_scanner/attack_self(mob/user) if(!user.client) return if(current_cooldown <= world.time) current_cooldown = world.time + cooldown - mineral_scan_pulse(get_turf(user)) + mineral_scan_pulse(get_turf(user), range) //Debug item to identify all ore spread quickly /obj/item/mining_scanner/admin @@ -41,7 +42,7 @@ slot_flags = ITEM_SLOT_BELT var/cooldown = 35 var/current_cooldown = 0 - var/range = 7 + /obj/item/t_scanner/adv_mining_scanner/lesser name = "automatic mining scanner" @@ -80,3 +81,9 @@ /obj/effect/temp_visual/mining_overlay/Initialize() . = ..() animate(src, alpha = 0, time = duration, easing = EASE_IN) + +/obj/item/mining_scanner/prospector + name = "prospector's pickaxe" + desc = "A pickaxe that can sound rocks to find mineral deposits and stop gibtonite detonations." + icon = 'icons/obj/mining.dmi' + icon_state = "pickaxe" diff --git a/code/modules/smithing/anvil.dm b/code/modules/smithing/anvil.dm index ba8459109e..597e65c662 100644 --- a/code/modules/smithing/anvil.dm +++ b/code/modules/smithing/anvil.dm @@ -25,6 +25,7 @@ density = TRUE anchored = TRUE var/workpiece_state = FALSE + var/datum/material = workpiece_material var/qualitymod = 0 var/currentquality = qualitymod var/currentsteps = 0 @@ -44,20 +45,22 @@ RECIPE_HALBERD = obj/item/smithing/halberdhead) /obj/structure/anvil/attackby(obj/item/I, mob/user) - if(istype(I, obj/item/ingot)) - var/obj/item/ingot/notsword = I + if(istype(I, obj/item/smithing/ingot)) + var/obj/item/smithing/ingot/notsword = I if(workpiece_state) to_chat(user, "There's already a workpiece! Finish it or take it off.") return FALSE if(notsword.workability == "shapeable") workpiece_state = WORKPIECE_PRESENT + workpiece_material = notsword.custom_materials to_chat(user, "You place the [notsword] on the [src].") + qdel(notsword) else to_chat(user, "The ingot isn't workable yet!") return FALSE return else if(istype(I, obj/item/hammer)) - var/obj/item/hammer/hammertime = I + var/obj/item/melee/hammer/hammertime = I if(workpiece_state = WORKPIECE_PRESENT || WORKPIECE_INPROGRESS) do_shaping(user, hammer.qualitymod) else diff --git a/code/modules/smithing/smithed_items.dm b/code/modules/smithing/smithed_items.dm new file mode 100644 index 0000000000..e6959e0183 --- /dev/null +++ b/code/modules/smithing/smithed_items.dm @@ -0,0 +1,57 @@ +/obj/item/smithing + name = "base class /obj/item/smithing" + desc = "A [src]." + var/quality = 0 //quality. Changed by the smithing process. + var/obj/item/finishingitem = /obj/item/stick //What this item needs to be hit by to create finalitem + var/obj/item/finalitem = /obj/item + +/obj/item/smithing/axehead + name = "smithed axe head" + finalitem = /obj/item/hatchet/smithed + +/obj/item/smithing/hammerhead + name = "smithed hammer head" + finalitem = /obj/item/melee/hammer + +/obj/item/smithing/scytheblade + name = "smithed scythe head" + finalitem = /obj/item/scythe/smithed + +/obj/item/smithing/shovelhead + name = "smithed shovel head" + finalitem = /obj/item/shovel/smithed + +/obj/item/smithing/cogheadclubhead + name = "smithed coghead club head" + finalitem = /obj/item/melee/cleric_mace/cogheadclub + +/obj/item/smithing/javelinhead + name = "smithed javelin head" + finalitem = /obj/item/spear/javelin + +/obj/item/smithing/pickaxehead + name = "smithed pickaxe head" + finalitem = /obj/item/pickaxe/smithed + +/obj/item/smithing/prospectingpickhead + name = "smithed prospector's pickaxe head" + finalitem = /obj/item/mining_scanner/prospector + +/obj/item/smithing/shortswordblade + name = "smithed shortsword blade" + finishingitem = /obj/item/swordhandle + finalitem = /obj/item/melee/smith/shortsword + +/obj/item/smithing/knifeblade + name = "smithed knife blade" + finishingitem = /obj/item/swordhandle + finalitem = + +/obj/item/smithing/broadblade + name = "smithed broadsword blade" + finishingitem = /obj/item/swordhandle + finalitem = /obj/item/melee/smith/broadsword + +/obj/item/smithing/halberdhead + name = "smithed halberd head" + finalitem = /obj/item/spear/halberd