w e w
This commit is contained in:
@@ -130,7 +130,23 @@
|
||||
subcategory = CAT_MISCELLANEOUS
|
||||
category = CAT_MISC
|
||||
|
||||
/datum/crafting_recipe/basaltblock
|
||||
name = "Sintered Basalt Block"
|
||||
result = /obj/item/basaltblock
|
||||
time = 200
|
||||
reqs = list(/obj/item/stack/ore/glass/basalt = 50)
|
||||
tools = list(TOOL_WELDER)
|
||||
subcategory = CAT_MISCELLANEOUS
|
||||
category = CAT_MISC
|
||||
|
||||
/datum/crafting_recipe/basaltanvil
|
||||
name = "Basalt Anvil"
|
||||
result = /obj/structure/anvil/obtainable/sandstone
|
||||
time = 200
|
||||
reqs = list(/obj/item/basaltblock = 5)
|
||||
tools = list(TOOL_CROWBAR)
|
||||
subcategory = CAT_MISCELLANEOUS
|
||||
category = CAT_MISC
|
||||
///////////////////
|
||||
//Tools & Storage//
|
||||
///////////////////
|
||||
|
||||
@@ -289,6 +289,7 @@ Unless you know what you're doing, only use the first three numbers. They're in
|
||||
name = "bronze"
|
||||
desc = "Clock Cult? Never heard of it."
|
||||
color = "#92661A"
|
||||
strength_modifier = 1.1
|
||||
categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
|
||||
sheet_type = /obj/item/stack/tile/bronze
|
||||
value_per_unit = 0.025
|
||||
|
||||
@@ -117,6 +117,7 @@ GLOBAL_LIST_INIT(diamond_recipes, list ( \
|
||||
new/datum/stack_recipe("Captain Statue", /obj/structure/statue/diamond/captain, 5, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("AI Hologram Statue", /obj/structure/statue/diamond/ai1, 5, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("AI Core Statue", /obj/structure/statue/diamond/ai2, 5, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("diamond brick", /obj/item/ingot/diamond, 6, time = 100), \
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/mineral/diamond/get_main_recipes()
|
||||
@@ -145,6 +146,7 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \
|
||||
new/datum/stack_recipe("uranium tile", /obj/item/stack/tile/mineral/uranium, 1, 4, 20), \
|
||||
new/datum/stack_recipe("Nuke Statue", /obj/structure/statue/uranium/nuke, 5, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("Engineer Statue", /obj/structure/statue/uranium/eng, 5, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("uranium ingot", /obj/item/ingot/uranium, 6, time = 100), \
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/mineral/uranium/get_main_recipes()
|
||||
@@ -177,6 +179,7 @@ GLOBAL_LIST_INIT(plasma_recipes, list ( \
|
||||
new/datum/stack_recipe("plasma door", /obj/structure/mineral_door/transparent/plasma, 10, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("plasma tile", /obj/item/stack/tile/mineral/plasma, 1, 4, 20), \
|
||||
new/datum/stack_recipe("Scientist Statue", /obj/structure/statue/plasma/scientist, 5, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("plasma ingot", /obj/item/ingot/plasma, 6, time = 100), \
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/mineral/plasma/get_main_recipes()
|
||||
@@ -221,6 +224,7 @@ GLOBAL_LIST_INIT(gold_recipes, list ( \
|
||||
new/datum/stack_recipe("RD Statue", /obj/structure/statue/gold/rd, 5, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("Simple Crown", /obj/item/clothing/head/crown, 5), \
|
||||
new/datum/stack_recipe("CMO Statue", /obj/structure/statue/gold/cmo, 5, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("gold ingot", /obj/item/ingot/gold, 6, time = 100), \
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/mineral/gold/get_main_recipes()
|
||||
@@ -252,6 +256,7 @@ GLOBAL_LIST_INIT(silver_recipes, list ( \
|
||||
new/datum/stack_recipe("Sec Officer Statue", /obj/structure/statue/silver/sec, 5, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("Sec Borg Statue", /obj/structure/statue/silver/secborg, 5, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("Med Borg Statue", /obj/structure/statue/silver/medborg, 5, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("silver ingot", /obj/item/ingot/silver, 6, time = 100), \
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/mineral/silver/get_main_recipes()
|
||||
@@ -278,6 +283,7 @@ GLOBAL_LIST_INIT(silver_recipes, list ( \
|
||||
GLOBAL_LIST_INIT(bananium_recipes, list ( \
|
||||
new/datum/stack_recipe("bananium tile", /obj/item/stack/tile/mineral/bananium, 1, 4, 20), \
|
||||
new/datum/stack_recipe("Clown Statue", /obj/structure/statue/bananium/clown, 5, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("hilarious ingot", /obj/item/ingot/bananium, 6, time = 100), \
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/mineral/bananium/get_main_recipes()
|
||||
@@ -306,6 +312,7 @@ GLOBAL_LIST_INIT(bananium_recipes, list ( \
|
||||
|
||||
GLOBAL_LIST_INIT(titanium_recipes, list ( \
|
||||
new/datum/stack_recipe("titanium tile", /obj/item/stack/tile/mineral/titanium, 1, 4, 20), \
|
||||
new/datum/stack_recipe("titanic ingot", /obj/item/ingot/titanium, 6, time = 100), \
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/mineral/titanium/get_main_recipes()
|
||||
@@ -353,6 +360,7 @@ GLOBAL_LIST_INIT(plastitanium_recipes, list ( \
|
||||
*/
|
||||
GLOBAL_LIST_INIT(adamantine_recipes, list(
|
||||
new /datum/stack_recipe("incomplete servant golem shell", /obj/item/golem_shell/servant, req_amount=1, res_amount=1),
|
||||
new/datum/stack_recipe("adamant ingot", /obj/item/ingot/adamantine, 6, time = 100), \
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/mineral/adamantine
|
||||
|
||||
@@ -556,6 +556,7 @@ GLOBAL_LIST_INIT(runed_metal_recipes, list ( \
|
||||
new/datum/stack_recipe("forge", /obj/structure/destructible/cult/forge, 3, time = 40, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
new/datum/stack_recipe("archives", /obj/structure/destructible/cult/tome, 3, time = 40, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
new/datum/stack_recipe("altar", /obj/structure/destructible/cult/talisman, 3, time = 40, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
new/datum/stack_recipe("runic ingot", /obj/item/ingot/cult, 2, time = 100), \
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/runed_metal
|
||||
@@ -680,6 +681,7 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \
|
||||
new/datum/stack_recipe("bronze chair", /obj/structure/chair/bronze, 1, time = 0, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
new/datum/stack_recipe("bronze bar stool", /obj/structure/chair/stool/bar/bronze, 1, time = 0, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
new/datum/stack_recipe("bronze stool", /obj/structure/chair/stool/bronze, 1, time = 0, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
new/datum/stack_recipe("bronze ingot", /obj/item/ingot/bronze, 6, time = 100), \
|
||||
))
|
||||
|
||||
/obj/item/stack/tile/bronze
|
||||
|
||||
@@ -51,7 +51,8 @@
|
||||
RECIPE_SMALLKNIFE = /obj/item/smithing/knifeblade,
|
||||
RECIPE_BROADSWORD = /obj/item/smithing/broadblade,
|
||||
RECIPE_HALBERD = /obj/item/smithing/halberdhead,
|
||||
RECIPE_GLAIVE = /obj/item/smithing/glaivehead)
|
||||
RECIPE_GLAIVE = /obj/item/smithing/glaivehead,
|
||||
RECIPE_KATANA = /obj/item/smithing/katanablade)
|
||||
|
||||
/obj/structure/anvil/Initialize()
|
||||
..()
|
||||
@@ -204,6 +205,7 @@
|
||||
/obj/structure/anvil/obtainable/sandstone
|
||||
name = "sandstone brick anvil"
|
||||
desc = "A big block of sandstone. Useable as an anvil."
|
||||
custom_materials = list(/datum/material/sandstone=8000)
|
||||
icon = 'icons/obj/smith.dmi'
|
||||
icon_state = "anvil"
|
||||
anvilquality = -1
|
||||
|
||||
47
code/modules/smithing/furnace.dm
Normal file
47
code/modules/smithing/furnace.dm
Normal file
@@ -0,0 +1,47 @@
|
||||
/obj/structure/furnace
|
||||
name = "furnace"
|
||||
desc = "A furnace."
|
||||
icon = 'icons/obj/smith.dmi'
|
||||
icon_state = "anvil"
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
var/debug = FALSE //debugging only
|
||||
var/working = TRUE
|
||||
var/fueluse = 1
|
||||
|
||||
|
||||
/obj/structure/furnace/Initialize()
|
||||
..()
|
||||
create_reagents(250, TRANSPARENT)
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
/obj/structure/furnace/Destroy()
|
||||
..()
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
|
||||
/obj/structure/furnace/process()
|
||||
if(debug)
|
||||
reagents.add_reagent(/datum/reagent/fuel, 1)
|
||||
return TRUE
|
||||
if(reagents.remove_reagent(/datum/reagent/fuel, fueluse))
|
||||
working = TRUE
|
||||
else
|
||||
working = FALSE
|
||||
/obj/structure/furnace/attackby(obj/item/I, mob/user)
|
||||
if(istype(I, /obj/item/ingot))
|
||||
var/obj/item/ingot/notsword = I
|
||||
if(working)
|
||||
to_chat(user, "You heat the [notsword] in the [src].")
|
||||
else
|
||||
to_chat(user, "The furnace isn't working!.")
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/structure/furnace/wrench_act(mob/living/user, obj/item/I)
|
||||
..()
|
||||
default_unfasten_wrench(user, I, 5)
|
||||
return TRUE
|
||||
|
||||
/obj/structure/furnace/infinite
|
||||
name = "fuelless furnace"
|
||||
debug = TRUE
|
||||
@@ -1,5 +1,8 @@
|
||||
|
||||
|
||||
/obj/item/basaltblock
|
||||
name = "basalt block"
|
||||
desc = "A block of basalt."
|
||||
icon = 'icons/obj/smith.dmi'
|
||||
icon_state = "unfinished"
|
||||
|
||||
|
||||
/obj/item/smithing
|
||||
@@ -16,11 +19,66 @@
|
||||
icon = 'icons/obj/smith.dmi'
|
||||
icon_state = "ingot"
|
||||
material_flags = MATERIAL_COLOR | MATERIAL_ADD_PREFIX
|
||||
var/workability = "shapeable"
|
||||
var/workability = "cold"
|
||||
|
||||
|
||||
/obj/item/ingot/on_attack_hand(mob/user)
|
||||
var/mob/living/carbon/human/H
|
||||
if(!workability == "shapeable")
|
||||
return ..()
|
||||
var/prot = 0
|
||||
if(ishuman(user))
|
||||
H = user
|
||||
if(H.gloves)
|
||||
var/obj/item/clothing/gloves/G = H.gloves
|
||||
if(G.max_heat_protection_temperature)
|
||||
prot = (G.max_heat_protection_temperature > 360)
|
||||
else
|
||||
prot = 1
|
||||
if(prot > 0 || HAS_TRAIT(user, TRAIT_RESISTHEAT) || HAS_TRAIT(user, TRAIT_RESISTHEATHANDS))
|
||||
to_chat(user, "<span class='notice'>You pick up the [src].</span>")
|
||||
return ..()
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You try to move the [src], but you burn your hand on it!</span>")
|
||||
if(H)
|
||||
var/obj/item/bodypart/affecting = H.get_bodypart("[(user.active_hand_index % 2 == 0) ? "r" : "l" ]_arm")
|
||||
if(affecting && affecting.receive_damage( 0, 5 )) // 5 burn damage
|
||||
H.update_damage_overlays()
|
||||
|
||||
/obj/item/ingot/iron
|
||||
custom_materials = list(/datum/material/iron=12000)
|
||||
|
||||
/obj/item/ingot/diamond
|
||||
custom_materials = list(/datum/material/diamond=12000) //yeah ok
|
||||
|
||||
/obj/item/ingot/uranium
|
||||
custom_materials = list(/datum/material/uranium=12000)
|
||||
|
||||
/obj/item/ingot/plasma
|
||||
custom_materials = list(/datum/material/plasma=12000)//yeah ok
|
||||
|
||||
/obj/item/ingot/gold
|
||||
custom_materials = list(/datum/material/gold=12000)
|
||||
|
||||
/obj/item/ingot/silver
|
||||
custom_materials = list(/datum/material/silver=12000)
|
||||
|
||||
/obj/item/ingot/bananium
|
||||
custom_materials = list(/datum/material/bananium=12000)
|
||||
|
||||
/obj/item/ingot/titanium
|
||||
custom_materials = list(/datum/material/titanium=12000)
|
||||
|
||||
/obj/item/ingot/adamantine
|
||||
custom_materials = list(/datum/material/adamantine=12000)
|
||||
|
||||
/obj/item/ingot/cult
|
||||
custom_materials = list(/datum/material/runedmetal=12000)
|
||||
|
||||
/obj/item/ingot/bronze
|
||||
custom_materials = list(/datum/material/bronze=12000)
|
||||
|
||||
|
||||
/obj/item/smithing/Initialize()
|
||||
..()
|
||||
desc = "A [src]. Hit it with a [finishingitem.name] to create a [finalitem.name]."
|
||||
@@ -129,7 +187,7 @@
|
||||
var/obj/item/melee/smith/twohand/javelin/finalforreal = new /obj/item/melee/smith/twohand/javelin(src)
|
||||
finalforreal.force += quality
|
||||
finalforreal.wield_force = finalforreal.force*finalforreal.wielded_mult
|
||||
finalforreal.AddComponent(/datum/component/two_handed, force_unwielded=finalforreal.force, force_wielded=finalforreal.wield_force, icon_wielded="[icon_state]_wield")
|
||||
finalforreal.AddComponent(/datum/component/two_handed, force_unwielded=finalforreal.force, force_wielded=finalforreal.wield_force, icon_wielded="[icon_state]")
|
||||
finalforreal.throwforce = finalforreal.force*2
|
||||
finalitem = finalforreal
|
||||
..()
|
||||
@@ -202,7 +260,7 @@
|
||||
var/obj/item/melee/smith/twohand/broadsword/finalforreal = new /obj/item/melee/smith/twohand/broadsword(src)
|
||||
finalforreal.force += quality
|
||||
finalforreal.wield_force = finalforreal.force*finalforreal.wielded_mult
|
||||
finalforreal.AddComponent(/datum/component/two_handed, force_unwielded=finalforreal.force, force_wielded=finalforreal.wield_force, icon_wielded="[icon_state]_wield")
|
||||
finalforreal.AddComponent(/datum/component/two_handed, force_unwielded=finalforreal.force, force_wielded=finalforreal.wield_force, icon_wielded="[icon_state]")
|
||||
finalitem = finalforreal
|
||||
..()
|
||||
|
||||
@@ -216,7 +274,7 @@
|
||||
finalforreal.force += quality
|
||||
finalforreal.wield_force = finalforreal.force*finalforreal.wielded_mult
|
||||
finalforreal.throwforce = finalforreal.force/3
|
||||
finalforreal.AddComponent(/datum/component/two_handed, force_unwielded=finalforreal.force, force_wielded=finalforreal.wield_force, icon_wielded="[icon_state]_wield")
|
||||
finalforreal.AddComponent(/datum/component/two_handed, force_unwielded=finalforreal.force, force_wielded=finalforreal.wield_force, icon_wielded="[icon_state]")
|
||||
finalitem = finalforreal
|
||||
..()
|
||||
|
||||
@@ -230,7 +288,7 @@
|
||||
finalforreal.force += quality
|
||||
finalforreal.wield_force = finalforreal.force*finalforreal.wielded_mult
|
||||
finalforreal.throwforce = finalforreal.force
|
||||
finalforreal.AddComponent(/datum/component/two_handed, force_unwielded=finalforreal.force, force_wielded=finalforreal.wield_force, icon_wielded="[icon_state]_wield")
|
||||
finalforreal.AddComponent(/datum/component/two_handed, force_unwielded=finalforreal.force, force_wielded=finalforreal.wield_force, icon_wielded="[icon_state]")
|
||||
finalitem = finalforreal
|
||||
..()
|
||||
|
||||
@@ -239,13 +297,13 @@
|
||||
finishingitem = /obj/item/swordhandle
|
||||
finalitem = /obj/item/melee/smith/twohand/katana
|
||||
icon_state = "katana"
|
||||
|
||||
|
||||
|
||||
/obj/item/smithing/katanablade/startfinish()
|
||||
var/obj/item/melee/smith/twohand/katana/finalforreal = new /obj/item/melee/smith/twohand/katana(src)
|
||||
finalforreal.force += quality
|
||||
finalforreal.wield_force = finalforreal.force*finalforreal.wielded_mult
|
||||
finalforreal.AddComponent(/datum/component/two_handed, force_unwielded=finalforreal.force, force_wielded=finalforreal.wield_force, icon_wielded="[icon_state]_wield")
|
||||
finalforreal.AddComponent(/datum/component/two_handed, force_unwielded=finalforreal.force, force_wielded=finalforreal.wield_force, icon_wielded="[icon_state]")
|
||||
finalitem = finalforreal
|
||||
|
||||
/obj/item/stick
|
||||
|
||||
@@ -3263,6 +3263,7 @@
|
||||
#include "code\modules\shuttle\shuttle_creation\shuttle_upgrades.dm"
|
||||
#include "code\modules\smithing\anvil.dm"
|
||||
#include "code\modules\smithing\finished_items.dm"
|
||||
#include "code\modules\smithing\furnace.dm"
|
||||
#include "code\modules\smithing\smithed_items.dm"
|
||||
#include "code\modules\spells\spell.dm"
|
||||
#include "code\modules\spells\spell_types\aimed.dm"
|
||||
|
||||
Reference in New Issue
Block a user