diff --git a/modular_ss220/crafting/_crafting.dm b/modular_ss220/crafting/_crafting.dm new file mode 100644 index 000000000000..27e1caf2ee17 --- /dev/null +++ b/modular_ss220/crafting/_crafting.dm @@ -0,0 +1,4 @@ +/datum/modpack/crafting + name = "Crafting" + desc = "Дополняет/изменяет крафт имеющихся вещей из различных материалов." + author = "dj-34" diff --git a/modular_ss220/crafting/_crafting.dme b/modular_ss220/crafting/_crafting.dme new file mode 100644 index 000000000000..b3572a77a213 --- /dev/null +++ b/modular_ss220/crafting/_crafting.dme @@ -0,0 +1,3 @@ +#include "_crafting.dm" + +#include "code/crafting.dm" diff --git a/modular_ss220/crafting/code/crafting.dm b/modular_ss220/crafting/code/crafting.dm new file mode 100644 index 000000000000..9d79faba049e --- /dev/null +++ b/modular_ss220/crafting/code/crafting.dm @@ -0,0 +1,25 @@ +// Fur recipes +/obj/item/stack/sheet/fur/New(loc, amount=null) + recipes = GLOB.fur_recipes + ..() + +GLOBAL_LIST_INIT(fur_recipes, list( + new /datum/stack_recipe_list("fur clothings", list( + new /datum/stack_recipe("fur cap", /obj/item/clothing/head/furcap, 2), + new /datum/stack_recipe("fur cape", /obj/item/clothing/suit/furcape, 3), + new /datum/stack_recipe("fur coat", /obj/item/clothing/suit/furcoat, 3), + new /datum/stack_recipe("fur gloves", /obj/item/clothing/gloves/furgloves, 3), + new /datum/stack_recipe("fur boots", /obj/item/clothing/shoes/furboots, 2), + )), + null, + new /datum/stack_recipe_list("fur carpets", list( + new /datum/stack_recipe("red carpet", /obj/structure/fluff/carpet, 4), + new /datum/stack_recipe("blue carpet", /obj/structure/fluff/carpet/blue, 4), + new /datum/stack_recipe("yellow carpet", /obj/structure/fluff/carpet/yellow, 4), + new /datum/stack_recipe("green carpet", /obj/structure/fluff/carpet/green, 4), + null, + new /datum/stack_recipe("small red carpet", /obj/structure/fluff/carpet/small, 3), + new /datum/stack_recipe("small yellow carpet", /obj/structure/fluff/carpet/small/yellow, 3), + new /datum/stack_recipe("small white carpet", /obj/structure/fluff/carpet/small/white, 3), + )), +)) diff --git a/modular_ss220/maps220/code/RandomRuins/gateway/gateway_turfs.dm b/modular_ss220/maps220/code/RandomRuins/gateway/gateway_turfs.dm index 5066fdc8ce62..7944a55e5da9 100644 --- a/modular_ss220/maps220/code/RandomRuins/gateway/gateway_turfs.dm +++ b/modular_ss220/maps220/code/RandomRuins/gateway/gateway_turfs.dm @@ -168,7 +168,7 @@ /turf/simulated/floor/beach/away/sand_alternative/Initialize(mapload) . = ..() if(prob(15)) - icon_state = "sand[rand(1,4)]" + icon_state = initial(icon_state) + "[rand(1, 4)]" /turf/simulated/floor/beach/away/sand_alternative/remove_plating(mob/user) return @@ -179,6 +179,11 @@ /turf/simulated/floor/beach/away/sand_alternative/try_replace_tile(obj/item/stack/tile/T, mob/user, params) return +/turf/simulated/floor/beach/away/sand_alternative/dark + icon_state = "darksand" + base_icon_state = "darksand" + baseturf = /turf/simulated/floor/beach/away/sand_alternative/dark + /turf/simulated/floor/beach/away/coastline/alternative icon = 'modular_ss220/maps220/icons/floors.dmi' icon_state = "beach" @@ -284,6 +289,12 @@ base_icon_state = "water" water_overlay_image = null +/turf/simulated/floor/beach/away/water/deep/muddy + icon = 'modular_ss220/maps220/icons/floors.dmi' + icon_state = "water_muddy" + base_icon_state = "water_muddy" + water_overlay_image = null + /turf/simulated/floor/plating/xen name = "strange weeds" icon = 'modular_ss220/maps220/icons/floors.dmi' @@ -311,3 +322,39 @@ light_color = null light_power = 0 light_range = 0 // removing faint glow + +// MARK: Miscellaneous + +// Withered grounds +/turf/simulated/floor/plating/asteroid/wasteland + name = "dead soil" + icon = 'modular_ss220/maps220/icons/floors.dmi' + icon_state = "wasteland" + environment_type = "wasteland" + turf_type = /turf/simulated/floor/plating/asteroid/wasteland + +/turf/simulated/floor/plating/asteroid/caverock + name = "withered ground" + icon = 'modular_ss220/maps220/icons/floors.dmi' + icon_state = "caverock0" + environment_type = "caverock" + turf_type = /turf/simulated/floor/plating/asteroid/caverock + +/turf/simulated/floor/plating/asteroid/caverock/Initialize(mapload) + . = ..() + icon_state = "[environment_type][rand(0, 10)]" + +/turf/simulated/floor/plating/asteroid/caverock/alt + icon_state = "caverockdeep0" + environment_type = "caverockdeep" + turf_type = /turf/simulated/floor/plating/asteroid/caverock/alt + +// Lava +/turf/simulated/floor/lava/caverock + icon = 'modular_ss220/maps220/icons/lava.dmi' + baseturf = /turf/simulated/floor/lava/caverock + +// Chasm +/turf/simulated/floor/chasm/straight_down/caverock + icon = 'modular_ss220/maps220/icons/chasm.dmi' + baseturf = /turf/simulated/floor/chasm/straight_down/caverock diff --git a/modular_ss220/maps220/code/effects.dm b/modular_ss220/maps220/code/effects.dm index f7545d70fbac..26f14579702f 100644 --- a/modular_ss220/maps220/code/effects.dm +++ b/modular_ss220/maps220/code/effects.dm @@ -71,6 +71,38 @@ desc = "Glory to humanity!" /* Beach */ +// Decals +/obj/effect/turf_decal/sand + name = "sand" + density = FALSE + icon = 'modular_ss220/maps220/icons/decals.dmi' + icon_state = "sand_side" + +/obj/effect/turf_decal/sand/end + icon_state = "sand_surround" + +/obj/effect/turf_decal/sand/box + icon_state = "sand_full" + +/obj/effect/turf_decal/sand/light + icon_state = "lightsand_side" + +/obj/effect/turf_decal/sand/end/light + icon_state = "lightsand_surround" + +/obj/effect/turf_decal/sand/box/light + icon_state = "lightsand_full" + +/obj/effect/turf_decal/sand/dark + icon_state = "darksand_side" + +/obj/effect/turf_decal/sand/end/dark + icon_state = "darksand_surround" + +/obj/effect/turf_decal/sand/box/dark + icon_state = "darksand_full" + +// Items /obj/item/toy/seashell name = "ракушка" desc = "Пусть у вас всегда будет ракушка в кармане и песок в ботинках. Что бы это ни значило." diff --git a/modular_ss220/maps220/icons/chasm.dmi b/modular_ss220/maps220/icons/chasm.dmi new file mode 100644 index 000000000000..f1e66a5db715 Binary files /dev/null and b/modular_ss220/maps220/icons/chasm.dmi differ diff --git a/modular_ss220/maps220/icons/decals.dmi b/modular_ss220/maps220/icons/decals.dmi index 2872ce2d8710..bed567c16dac 100644 Binary files a/modular_ss220/maps220/icons/decals.dmi and b/modular_ss220/maps220/icons/decals.dmi differ diff --git a/modular_ss220/maps220/icons/floors.dmi b/modular_ss220/maps220/icons/floors.dmi index 2bb04fe9164b..8303e8532c15 100644 Binary files a/modular_ss220/maps220/icons/floors.dmi and b/modular_ss220/maps220/icons/floors.dmi differ diff --git a/modular_ss220/maps220/icons/lava.dmi b/modular_ss220/maps220/icons/lava.dmi new file mode 100644 index 000000000000..49f228fa598e Binary files /dev/null and b/modular_ss220/maps220/icons/lava.dmi differ diff --git a/modular_ss220/modular_ss220.dme b/modular_ss220/modular_ss220.dme index 3dccb7056186..878f9b2230a3 100644 --- a/modular_ss220/modular_ss220.dme +++ b/modular_ss220/modular_ss220.dme @@ -36,6 +36,7 @@ #include "silicons/_silicons.dme" #include "windows_airbag/_windows_airbag.dme" #include "clumsy_table/_clumsy_table.dme" +#include "crafting/_crafting.dme" #include "pt_monitor/_pt_monitor.dme" // --- MISC --- // diff --git a/modular_ss220/objects/_objects.dme b/modular_ss220/objects/_objects.dme index 0e95f3c7de7a..2a87c31917a2 100644 --- a/modular_ss220/objects/_objects.dme +++ b/modular_ss220/objects/_objects.dme @@ -1,6 +1,7 @@ #include "_objects.dm" // Flora +#include "code/flora/desert.dm" #include "code/flora/sakura.dm" // ID Skins @@ -32,6 +33,7 @@ #include "code/closets.dm" #include "code/coffin.dm" #include "code/computer.dm" +#include "code/decorations.dm" #include "code/mattress.dm" #include "code/miscellaneous.dm" #include "code/officetoys.dm" diff --git a/modular_ss220/objects/code/decorations.dm b/modular_ss220/objects/code/decorations.dm new file mode 100644 index 000000000000..e671e0900188 --- /dev/null +++ b/modular_ss220/objects/code/decorations.dm @@ -0,0 +1,77 @@ +// Columns +/obj/structure/fluff/column + name = "column" + desc = "Очень старая, массивная колонна." + icon = 'modular_ss220/objects/icons/columns.dmi' + icon_state = "column1" + layer = ABOVE_ALL_MOB_LAYER + deconstructible = FALSE + density = TRUE + +/obj/structure/fluff/column/Initialize(mapload) + . = ..() + AddComponent(/datum/component/largetransparency) + +// Large remains +/obj/structure/fluff/remains_large + name = "large remains" + desc = "Белеющие на солнце кости местной фауны." + icon = 'modular_ss220/objects/icons/remains_large.dmi' + icon_state = "rib" + layer = ABOVE_ALL_MOB_LAYER + deconstructible = FALSE + density = TRUE + +/obj/structure/fluff/remains_large/Initialize(mapload) + . = ..() + AddComponent(/datum/component/largetransparency) + +// Carpets +/obj/structure/fluff/carpet + name = "red carpet" + desc = "Шерстяной ковер, украшенный различными узорами." + icon = 'modular_ss220/objects/icons/carpets.dmi' + icon_state = "carpet1" + max_integrity = 50 + layer = LOW_OBJ_LAYER + anchored = FALSE + deconstructible = FALSE + +/obj/structure/fluff/carpet/AltClick(mob/user) + . = ..() + if(user.incapacitated()) + to_chat(user, span_warning("You can't do that right now!")) + return + if(!Adjacent(user)) + return + if(anchored) + to_chat(user, span_warning("[src] is anchored to the floor!")) + return + setDir(turn(dir, 90)) + +/obj/structure/fluff/carpet/blue + name = "blue carpet" + icon_state = "carpet2" + +/obj/structure/fluff/carpet/yellow + name = "yellow carpet" + icon_state = "carpet3" + +/obj/structure/fluff/carpet/green + name = "green carpet" + icon_state = "carpet4" + +// Carpets small +/obj/structure/fluff/carpet/small + name = "small red carpet" + desc = "Небольшой ковер, украшенный различными узорами." + icon = 'modular_ss220/objects/icons/carpets_small.dmi' + icon_state = "carpet_small1" + +/obj/structure/fluff/carpet/small/yellow + name = "small yellow carpet" + icon_state = "carpet_small2" + +/obj/structure/fluff/carpet/small/white + name = "small white carpet" + icon_state = "carpet_small3" diff --git a/modular_ss220/objects/code/flora/desert.dm b/modular_ss220/objects/code/flora/desert.dm new file mode 100644 index 000000000000..b06b27ae756f --- /dev/null +++ b/modular_ss220/objects/code/flora/desert.dm @@ -0,0 +1,75 @@ +// MARK: Trees +/obj/structure/flora/tree/desert/joshua + name = "yucca palm" + icon = 'modular_ss220/objects/icons/flora/desert_tree.dmi' + icon_state = "joshua1" + +/obj/structure/flora/tree/desert/joshua/Initialize(mapload) + . = ..() + icon_state = "joshua[rand(1, 8)]" + +/obj/structure/flora/tree/desert/dead + name = "dead tree" + icon = 'modular_ss220/objects/icons/flora/desert_tree.dmi' + icon_state = "dead1" + +/obj/structure/flora/tree/desert/dead/Initialize(mapload) + . = ..() + icon_state = "dead[rand(1, 6)]" + +/obj/structure/flora/tree/desert/big + name = "long dead tree" + icon = 'modular_ss220/objects/icons/flora/desert_tree_big.dmi' + icon_state = "dead_tree1" + +/obj/structure/flora/tree/desert/big/Initialize(mapload) + . = ..() + icon_state = "dead_tree[rand(1, 4)]" + +/obj/structure/flora/tree/desert/medpine + icon = 'modular_ss220/objects/icons/flora/desert_tree.dmi' + icon_state = "medpine" + +/obj/structure/flora/tree/desert/african + icon = 'modular_ss220/objects/icons/flora/desert_tree.dmi' + icon_state = "african" + +// MARK: Cactuses +/obj/structure/flora/tree/cactus + name = "cactus" + icon = 'modular_ss220/objects/icons/flora/cactus.dmi' + icon_state = "cactus1" + pixel_x = 0 + +/obj/structure/flora/tree/cactus/Initialize(mapload) + . = ..() + icon_state = "cactus[rand(1, 2)]" + pixel_x = rand(-5, 5) + pixel_y = rand(-5, 5) + +/obj/structure/flora/tree/cactus/little + icon_state = "little_cactus1" + density = FALSE + layer = BELOW_OBJ_LAYER + +/obj/structure/flora/tree/cactus/little/Initialize(mapload) + . = ..() + icon_state = "little_cactus[rand(1, 6)]" + +/obj/structure/flora/tree/cactus/circle + icon_state = "circle_cactus1" + density = FALSE + layer = BELOW_OBJ_LAYER + +/obj/structure/flora/tree/cactus/circle/Initialize(mapload) + . = ..() + icon_state = "circle_cactus[rand(1, 6)]" + +/obj/structure/flora/tree/cactus/flat + icon_state = "flat_cactus1" + density = FALSE + layer = BELOW_OBJ_LAYER + +/obj/structure/flora/tree/cactus/flat/Initialize(mapload) + . = ..() + icon_state = "flat_cactus[rand(1, 3)]" diff --git a/modular_ss220/objects/code/miscellaneous.dm b/modular_ss220/objects/code/miscellaneous.dm index 8d3d8a5e8ba4..43732433da90 100644 --- a/modular_ss220/objects/code/miscellaneous.dm +++ b/modular_ss220/objects/code/miscellaneous.dm @@ -2,6 +2,15 @@ * Use that for creating non-varedited objects, * or that you don't want to specify because they're insignificant for personal DM file */ +// Mine +/obj/effect/mine/explosive/desert + icon = 'modular_ss220/objects/icons/mine.dmi' + icon_state = "desertminearmed" + range_heavy = 1 + range_light = 3 + range_flash = 4 + layer = LOW_OBJ_LAYER + // Fountain /obj/structure/statue/fountain name = "фонтан" diff --git a/modular_ss220/objects/icons/carpets.dmi b/modular_ss220/objects/icons/carpets.dmi new file mode 100644 index 000000000000..76a3d60f9c8f Binary files /dev/null and b/modular_ss220/objects/icons/carpets.dmi differ diff --git a/modular_ss220/objects/icons/carpets_small.dmi b/modular_ss220/objects/icons/carpets_small.dmi new file mode 100644 index 000000000000..cc0baf96387b Binary files /dev/null and b/modular_ss220/objects/icons/carpets_small.dmi differ diff --git a/modular_ss220/objects/icons/columns.dmi b/modular_ss220/objects/icons/columns.dmi new file mode 100644 index 000000000000..f62e88bcef7c Binary files /dev/null and b/modular_ss220/objects/icons/columns.dmi differ diff --git a/modular_ss220/objects/icons/flora/cactus.dmi b/modular_ss220/objects/icons/flora/cactus.dmi new file mode 100644 index 000000000000..5935fd0ca76e Binary files /dev/null and b/modular_ss220/objects/icons/flora/cactus.dmi differ diff --git a/modular_ss220/objects/icons/flora/desert_tree.dmi b/modular_ss220/objects/icons/flora/desert_tree.dmi new file mode 100644 index 000000000000..9aec69bd0266 Binary files /dev/null and b/modular_ss220/objects/icons/flora/desert_tree.dmi differ diff --git a/modular_ss220/objects/icons/flora/desert_tree_big.dmi b/modular_ss220/objects/icons/flora/desert_tree_big.dmi new file mode 100644 index 000000000000..191c8cd783a6 Binary files /dev/null and b/modular_ss220/objects/icons/flora/desert_tree_big.dmi differ diff --git a/modular_ss220/objects/icons/mine.dmi b/modular_ss220/objects/icons/mine.dmi new file mode 100644 index 000000000000..6e7f8d7d7596 Binary files /dev/null and b/modular_ss220/objects/icons/mine.dmi differ diff --git a/modular_ss220/objects/icons/remains_large.dmi b/modular_ss220/objects/icons/remains_large.dmi new file mode 100644 index 000000000000..8fe1da4e44f0 Binary files /dev/null and b/modular_ss220/objects/icons/remains_large.dmi differ