mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 04:30:44 +01:00
[READY] Meat material & material datum turf support (#49402)
* temp * meatwalls * more * adds sheetifier * fix * two * mat texture + 4dplanner admin (#21) * mat texture + 4dplanner admin * keep together trait * counter instead of trait * finalizations * woops * fixes * oopsie * only set starting keep_together if necessary (#24) * keep together as trait again * remove false comment * doc for TRAIT_KEEP_TOGETHER * remove needless scoping Co-authored-by: 4dplanner <3combined@gmail.com>
This commit is contained in:
@@ -1173,7 +1173,13 @@
|
||||
build_path = /obj/machinery/rnd/production/techfab/department/cargo
|
||||
|
||||
//Misc
|
||||
|
||||
/obj/item/circuitboard/machine/sheetifier
|
||||
name = "Sheet-meister 2000 (Machine Board)"
|
||||
icon_state = "supply"
|
||||
build_path = /obj/machinery/sheetifier
|
||||
req_components = list(
|
||||
/obj/item/stock_parts/manipulator = 2,
|
||||
/obj/item/stock_parts/matter_bin = 2)
|
||||
|
||||
/obj/item/circuitboard/machine/abductor
|
||||
name = "alien board (Report This)"
|
||||
|
||||
@@ -647,7 +647,7 @@
|
||||
item_state = "mace_greyscale"
|
||||
lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
|
||||
material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR //Material type changes the prefix as well as the color.
|
||||
material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS //Material type changes the prefix as well as the color.
|
||||
custom_materials = list(/datum/material/iron = 12000) //Defaults to an Iron Mace.
|
||||
slot_flags = ITEM_SLOT_BELT
|
||||
force = 14
|
||||
|
||||
@@ -41,6 +41,7 @@ GLOBAL_LIST_INIT(sandstone_recipes, list ( \
|
||||
custom_materials = list(/datum/material/glass=MINERAL_MATERIAL_AMOUNT)
|
||||
sheettype = "sandstone"
|
||||
merge_type = /obj/item/stack/sheet/mineral/sandstone
|
||||
walltype = /turf/closed/wall/mineral/sandstone
|
||||
|
||||
/obj/item/stack/sheet/mineral/sandstone/get_main_recipes()
|
||||
. = ..()
|
||||
@@ -103,6 +104,7 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \
|
||||
point_value = 25
|
||||
merge_type = /obj/item/stack/sheet/mineral/diamond
|
||||
material_type = /datum/material/diamond
|
||||
walltype = /turf/closed/wall/mineral/diamond
|
||||
|
||||
GLOBAL_LIST_INIT(diamond_recipes, list ( \
|
||||
new/datum/stack_recipe("diamond door", /obj/structure/mineral_door/transparent/diamond, 10, one_per_turf = 1, on_floor = 1), \
|
||||
@@ -131,6 +133,7 @@ GLOBAL_LIST_INIT(diamond_recipes, list ( \
|
||||
point_value = 20
|
||||
merge_type = /obj/item/stack/sheet/mineral/uranium
|
||||
material_type = /datum/material/uranium
|
||||
walltype = /turf/closed/wall/mineral/uranium
|
||||
|
||||
GLOBAL_LIST_INIT(uranium_recipes, list ( \
|
||||
new/datum/stack_recipe("uranium door", /obj/structure/mineral_door/uranium, 10, one_per_turf = 1, on_floor = 1), \
|
||||
@@ -159,6 +162,7 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \
|
||||
point_value = 20
|
||||
merge_type = /obj/item/stack/sheet/mineral/plasma
|
||||
material_type = /datum/material/plasma
|
||||
walltype = /turf/closed/wall/mineral/plasma
|
||||
|
||||
/obj/item/stack/sheet/mineral/plasma/suicide_act(mob/living/carbon/user)
|
||||
user.visible_message("<span class='suicide'>[user] begins licking \the [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
@@ -201,6 +205,7 @@ GLOBAL_LIST_INIT(plasma_recipes, list ( \
|
||||
point_value = 20
|
||||
merge_type = /obj/item/stack/sheet/mineral/gold
|
||||
material_type = /datum/material/gold
|
||||
walltype = /turf/closed/wall/mineral/gold
|
||||
|
||||
GLOBAL_LIST_INIT(gold_recipes, list ( \
|
||||
new/datum/stack_recipe("golden door", /obj/structure/mineral_door/gold, 10, one_per_turf = 1, on_floor = 1), \
|
||||
@@ -232,6 +237,7 @@ GLOBAL_LIST_INIT(gold_recipes, list ( \
|
||||
merge_type = /obj/item/stack/sheet/mineral/silver
|
||||
material_type = /datum/material/silver
|
||||
tableVariant = /obj/structure/table/optable
|
||||
walltype = /turf/closed/wall/mineral/silver
|
||||
|
||||
GLOBAL_LIST_INIT(silver_recipes, list ( \
|
||||
new/datum/stack_recipe("silver door", /obj/structure/mineral_door/silver, 10, one_per_turf = 1, on_floor = 1), \
|
||||
@@ -262,6 +268,7 @@ GLOBAL_LIST_INIT(silver_recipes, list ( \
|
||||
point_value = 50
|
||||
merge_type = /obj/item/stack/sheet/mineral/bananium
|
||||
material_type = /datum/material/bananium
|
||||
walltype = /turf/closed/wall/mineral/bananium
|
||||
|
||||
GLOBAL_LIST_INIT(bananium_recipes, list ( \
|
||||
new/datum/stack_recipe("bananium tile", /obj/item/stack/tile/mineral/bananium, 1, 4, 20), \
|
||||
@@ -290,6 +297,7 @@ GLOBAL_LIST_INIT(bananium_recipes, list ( \
|
||||
point_value = 20
|
||||
merge_type = /obj/item/stack/sheet/mineral/titanium
|
||||
material_type = /datum/material/titanium
|
||||
walltype = /turf/closed/wall/mineral/titanium
|
||||
|
||||
GLOBAL_LIST_INIT(titanium_recipes, list ( \
|
||||
new/datum/stack_recipe("titanium tile", /obj/item/stack/tile/mineral/titanium, 1, 4, 20), \
|
||||
@@ -320,6 +328,7 @@ GLOBAL_LIST_INIT(titanium_recipes, list ( \
|
||||
point_value = 45
|
||||
merge_type = /obj/item/stack/sheet/mineral/plastitanium
|
||||
material_flags = MATERIAL_NO_EFFECTS
|
||||
walltype = /turf/closed/wall/mineral/plastitanium
|
||||
|
||||
GLOBAL_LIST_INIT(plastitanium_recipes, list ( \
|
||||
new/datum/stack_recipe("plastitanium tile", /obj/item/stack/tile/mineral/plastitanium, 1, 4, 20), \
|
||||
@@ -343,6 +352,7 @@ GLOBAL_LIST_INIT(plastitanium_recipes, list ( \
|
||||
throwforce = 2
|
||||
grind_results = list(/datum/reagent/consumable/ice = 20)
|
||||
merge_type = /obj/item/stack/sheet/mineral/snow
|
||||
walltype = /turf/closed/wall/mineral/snow
|
||||
|
||||
GLOBAL_LIST_INIT(snow_recipes, list ( \
|
||||
new/datum/stack_recipe("Snow wall", /turf/closed/wall/mineral/snow, 5, one_per_turf = 1, on_floor = 1), \
|
||||
|
||||
@@ -235,6 +235,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \
|
||||
novariants = TRUE
|
||||
material_type = /datum/material/wood
|
||||
grind_results = list(/datum/reagent/cellulose = 20) //no lignocellulose or lignin reagents yet,
|
||||
walltype = /turf/closed/wall/mineral/wood
|
||||
|
||||
/obj/item/stack/sheet/mineral/wood/get_main_recipes()
|
||||
. = ..()
|
||||
@@ -668,3 +669,14 @@ new /datum/stack_recipe("paper frame door", /obj/structure/mineral_door/paperfra
|
||||
desc = "A source of raw socialism, capable of bringing forth the prophesized Soviet Golem."
|
||||
icon_state = "sheet-stalinium"
|
||||
merge_type = /obj/item/stack/sheet/stalinium
|
||||
|
||||
/obj/item/stack/sheet/meat
|
||||
name = "meat sheet"
|
||||
desc = "Something's bloody meat compressed into a nice solid sheet"
|
||||
singular_name = "meat sheet"
|
||||
icon_state = "sheet-meat"
|
||||
material_flags = MATERIAL_COLOR
|
||||
custom_materials = list(/datum/material/meat = MINERAL_MATERIAL_AMOUNT)
|
||||
merge_type = /obj/item/stack/sheet/meat
|
||||
material_type = /datum/material/meat
|
||||
material_modifier = 1 //None of that wussy stuff
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
novariants = FALSE
|
||||
var/sheettype = null //this is used for girders in the creation of walls/false walls
|
||||
var/point_value = 0 //turn-in value for the gulag stacker - loosely relative to its rarity.
|
||||
///What type of wall does this sheet spawn
|
||||
var/walltype
|
||||
|
||||
/obj/item/stack/sheet/Initialize(mapload, new_amount, merge)
|
||||
. = ..()
|
||||
|
||||
@@ -333,3 +333,11 @@
|
||||
icon_state = "tile_plastic"
|
||||
custom_materials = list(/datum/material/plastic=500)
|
||||
turf_type = /turf/open/floor/plastic
|
||||
|
||||
/obj/item/stack/tile/material
|
||||
name = "tile"
|
||||
singular_name = "floor tile"
|
||||
desc = "A tile of flooring."
|
||||
icon_state = "material_tile"
|
||||
turf_type = /turf/open/floor/material
|
||||
material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS
|
||||
|
||||
@@ -163,7 +163,7 @@
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
if(S.sheettype && S.sheettype != "runed")
|
||||
if(S.sheettype != "runed")
|
||||
var/M = S.sheettype
|
||||
if(state == GIRDER_DISPLACED)
|
||||
if(S.get_amount() < 2)
|
||||
@@ -189,7 +189,16 @@
|
||||
S.use(2)
|
||||
to_chat(user, "<span class='notice'>You add the plating.</span>")
|
||||
var/turf/T = get_turf(src)
|
||||
T.PlaceOnTop(text2path("/turf/closed/wall/mineral/[M]"))
|
||||
if(S.walltype)
|
||||
T.PlaceOnTop(S.walltype)
|
||||
else
|
||||
var/turf/newturf = T.PlaceOnTop(/turf/closed/wall/material)
|
||||
var/list/material_list = list()
|
||||
if(S.material_type)
|
||||
material_list[SSmaterials.GetMaterialRef(S.material_type)] = MINERAL_MATERIAL_AMOUNT * 2
|
||||
if(material_list)
|
||||
newturf.set_custom_materials(material_list)
|
||||
|
||||
transfer_fingerprints_to(T)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user