diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index db606730..55e9bb77 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -908,3 +908,45 @@ GLOBAL_LIST_INIT(plaswood_recipes, list ( \ /obj/item/stack/sheet/mineral/plaswood/fifty amount = 50 + +GLOBAL_LIST_INIT(micro_bricks_recipes, list ( \ + new/datum/stack_recipe("Road fourway", /obj/structure/micro_brick/road_fourway, 2, time = 2, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("Road threeway", /obj/structure/micro_brick/road_threeway, 2, time = 2, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("Road straight", /obj/structure/micro_brick/road_straight, 2, time = 2, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("Road turn", /obj/structure/micro_brick/Road_turn, 2, time = 2, one_per_turf = TRUE, on_floor = TRUE), \ + null, \ + new/datum/stack_recipe("Small houses", /obj/structure/micro_brick/small_house, 5, time = 2, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("Small business", /obj/structure/micro_brick/small_business, 5, time = 2, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("Small warehouse", /obj/structure/micro_brick/small_warehouse, 5, time = 2, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("Small museum", /obj/structure/micro_brick/small_museum, 5, time = 2, one_per_turf = TRUE, on_floor = TRUE), \ + null, \ + new/datum/stack_recipe("Small moon", /obj/item/moon, 5, time = 2), \ + null, \ + )) + +/obj/item/stack/sheet/micro_bricks + name = "Micro Bricks" + desc = "an studless version of the iconic bricks for recreation use on station with big crewmembers " + singular_name = "Micro Brick" + icon_state = "SmallBucket" + item_state = "SmallBucket" + materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT) + flags_1 = CONDUCT_1 + resistance_flags = FIRE_PROOF + merge_type = /obj/item/stack/sheet/micro_bricks + +/obj/item/stack/sheet/micro_bricks/fifty + amount = 50 + +/obj/item/stack/sheet/micro_bricks/twenty + amount = 20 + +/obj/item/stack/sheet/micro_bricks/ten + amount = 10 + +/obj/item/stack/sheet/micro_bricks/five + amount = 5 + +/obj/item/stack/sheet/micro_bricks/Initialize(mapload, new_amount, merge = TRUE) + recipes = GLOB.micro_bricks_recipes + return ..() diff --git a/code/game/objects/structures/micro_bricks.dm b/code/game/objects/structures/micro_bricks.dm new file mode 100644 index 00000000..af3bc2a7 --- /dev/null +++ b/code/game/objects/structures/micro_bricks.dm @@ -0,0 +1,104 @@ +/obj/structure/micro_brick + icon = 'icons/obj/small_world.dmi' + anchored = FALSE + var/buildstacktype = /obj/item/stack/sheet/micro_bricks + +/obj/structure/micro_brick/ComponentInitialize() + . = ..() + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE) + +/obj/structure/micro_brick/road_fourway + name = "Road fourway" + desc = "roundabouts are better!" + icon_state = "roadfourway" + resistance_flags = FLAMMABLE + max_integrity = 100 + integrity_failure = 30 + var/buildstackamount = 2 + +/obj/structure/micro_brick/road_threeway + name = "Road threeway" + desc = "Ill take the back you get the front." + icon_state = "roadthreeway" + resistance_flags = FLAMMABLE + max_integrity = 100 + integrity_failure = 30 + var/buildstackamount = 2 + +/obj/structure/micro_brick/road_straight + name = "Road straight" + desc = "Is it gay if the balls touch?" + icon_state = "roadstraight" + resistance_flags = FLAMMABLE + max_integrity = 100 + integrity_failure = 30 + var/buildstackamount = 2 + +/obj/structure/micro_brick/Road_turn + name = "Road turn" + desc = "Bending the Rules." + //i cannot find a joke for this :( + icon_state = "roadturn" + resistance_flags = FLAMMABLE + max_integrity = 100 + integrity_failure = 30 + var/buildstackamount = 2 + +/obj/structure/micro_brick/small_house + name = "Small houses" + desc = "Lets hope this household does their taxes!" + icon_state = "smallhouses" + resistance_flags = FLAMMABLE + max_integrity = 100 + integrity_failure = 30 + var/buildstackamount = 2 + +/obj/structure/micro_brick/small_business + name = "Small business" + desc = "A place for not many 9's with how many 5's" + icon_state = "smallbusiness" + var/rotation_flags = TRUE + resistance_flags = FLAMMABLE + max_integrity = 100 + integrity_failure = 30 + var/buildstackamount = 2 + +/obj/structure/micro_brick/small_warehouse + name = "Small warehouse" + desc = "The house has been exposed to the moon light and is now a warehouse!" + // https://i.redd.it/4ke5819c2ib61.jpg + icon_state = "warehouse" + resistance_flags = FLAMMABLE + max_integrity = 100 + integrity_failure = 30 + var/buildstackamount = 2 + +/obj/structure/micro_brick/small_museum + name = "Small museum" + desc = "A place to store old and small relics found around the station " + icon_state = "smallmuseum" + resistance_flags = FLAMMABLE + max_integrity = 100 + integrity_failure = 30 + var/buildstackamount = 2 + +/obj/item/moon + name = "Small moon" + icon_state = "smallmoon" + icon = 'icons/obj/small_world.dmi' + desc = "You now have the power of the moon on your side" + throwforce = 0 + throw_speed = 3 + throw_range = 7 + force = 0 + total_mass = TOTAL_MASS_TINY_ITEM + +/obj/structure/micro_brick/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/carpentry/glue)) + to_chat(user,"You glue the bricks to the floor.") + anchored = TRUE + if(istype(I, /obj/item/crowbar)) + to_chat(user,"You pry the bricks from the floor.") + anchored = FALSE + //probably could better, but im busy playing warframe rn to help Summer lmao -Dahl + // Merp -Summer \ No newline at end of file diff --git a/code/modules/cargo/packs/misc.dm b/code/modules/cargo/packs/misc.dm index 81463d2e..bb50395e 100644 --- a/code/modules/cargo/packs/misc.dm +++ b/code/modules/cargo/packs/misc.dm @@ -429,3 +429,10 @@ desc = "An extremely expensive solution of shrinking serum known as Diminicillin. Effects are permanent upon consumption, and shrinking is slow." cost = 100000 contains = list(/obj/item/reagent_containers/food/drinks/diminicillin) + +/datum/supply_pack/misc/microbricks + name = "Microbricks Crate" + desc = "Extremely bored? Recreate a downscale city and get upset when it all comes crumbling down!" + cost = 1500 + contains = list(/obj/item/stack/sheet/micro_bricks/fifty) + crate_name = "microbricks crate" \ No newline at end of file diff --git a/icons/obj/small_world.dmi b/icons/obj/small_world.dmi new file mode 100644 index 00000000..453383d6 Binary files /dev/null and b/icons/obj/small_world.dmi differ diff --git a/icons/obj/stack_objects.dmi b/icons/obj/stack_objects.dmi index 1f4c9d93..b6214612 100644 Binary files a/icons/obj/stack_objects.dmi and b/icons/obj/stack_objects.dmi differ diff --git a/tgstation.dme b/tgstation.dme index ca875c64..b7e270f3 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1069,6 +1069,7 @@ #include "code\game\objects\structures\manned_turret.dm" #include "code\game\objects\structures\medkit.dm" #include "code\game\objects\structures\memorial.dm" +#include "code\game\objects\structures\micro_bricks.dm" #include "code\game\objects\structures\mineral_doors.dm" #include "code\game\objects\structures\mirror.dm" #include "code\game\objects\structures\mop_bucket.dm"