Skip to content

Commit

Permalink
Icecat camp but epic!! | Visual updates to stuff that made the before…
Browse files Browse the repository at this point in the history
… mentioned camp look awful | Hazardously concentrated amounts of :3 (#24056) (#226)

* gah muhfuckin dam!!

* boutta go eat me some chicken parmesan

* gates and fence gates

* things that dont exist anymore

* updates some of the other stuff

* hot and steamy

* oops

* those particles shoulda ctually work now

* fixes various things

* makes the fence gate actually work

* right

* fixes some stuff

* are u a grass?

* this map is cool as fuck

* wow those forge structures are crusty ahh hell

* lets get lighting that looks cooler

* wall mounted torches for lighting

* i have plans that I cannot share with you

* ohj yea,,

* i think the map might be ready

* map template, removes the old map

* right, component lists

* oops 2

* may i be confused forever

* lets do the automapper solution

* fixes fences

* makes the posts more resistant to stray plasma cutter bolts

* linta

* puts some climbing hooks around

* everything everywhere all at once

* reverts the forge structure change

* Update modular_skyrat/modules/primitive_structures/code/storage_structures.dm



* Update modular_skyrat/modules/primitive_structures/code/storage_structures.dm



* Update modular_skyrat/modules/primitive_structures/code/storage_structures.dm



* Update modular_skyrat/modules/primitive_cooking_additions/code/stone_stove.dm



* Update modular_skyrat/modules/primitive_cooking_additions/code/stone_oven.dm



* Update modular_skyrat/modules/primitive_cooking_additions/code/stone_oven.dm



* Update modular_skyrat/modules/primitive_cooking_additions/code/stone_stove.dm



* makes big doors reset their layer when not facing east

* im so mad

* makes the vendor actually work for cats again

* that's not suppsoed to happen

* fixes test failure

---------

Co-authored-by: Paxilmaniac <[email protected]>
Co-authored-by: GoldenAlpharex <[email protected]>
  • Loading branch information
3 people authored Oct 23, 2023
1 parent 80115a0 commit f5c60cb
Show file tree
Hide file tree
Showing 34 changed files with 7,687 additions and 1,832 deletions.
1,769 changes: 0 additions & 1,769 deletions _maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_den.dmm

This file was deleted.

3,955 changes: 3,955 additions & 0 deletions _maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_lower.dmm

Large diffs are not rendered by default.

3,320 changes: 3,320 additions & 0 deletions _maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_upper.dmm

Large diffs are not rendered by default.

16 changes: 16 additions & 0 deletions _maps/skyrat/automapper/automapper_config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,22 @@ required_map = "IceBoxStation.dmm"
coordinates = [114, 65, 3]
trait_name = "Station"

# Icecats Camp Lower Level
[templates.icebox_icecats_lower]
map_files = ["icemoon_underground_icewalker_lower.dmm"]
directory = "_maps/RandomRuins/IceRuins/skyrat/"
required_map = "IceBoxStation.dmm"
coordinates = [202, 16, 1]
trait_name = "Station"

# Icecats Camp Upper Level
[templates.icebox_icecats_upper]
map_files = ["icemoon_underground_icewalker_upper.dmm"]
directory = "_maps/RandomRuins/IceRuins/skyrat/"
required_map = "IceBoxStation.dmm"
coordinates = [202, 16, 2]
trait_name = "Station"

# KILOSTATION MAP EDITS
# Kilostation Arrivals
[templates.kilostation_arrivals]
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/stacks/sheets/mineral.dm
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ GLOBAL_LIST_INIT(sandstone_recipes, list ( \
*/

GLOBAL_LIST_INIT(clay_recipes, list ( \
new/datum/stack_recipe("clay range", /obj/machinery/primitive_stove, 10, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_MISC), \
new/datum/stack_recipe("clay stove", /obj/machinery/primitive_stove, 10, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_MISC), \
new/datum/stack_recipe("clay oven", /obj/machinery/oven/stone, 10, time = 5 SECONDS, one_per_turf = FALSE, on_solid_ground = TRUE, category = CAT_MISC) \
))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ GLOBAL_LIST_INIT(skyrat_wood_recipes, list(
new/datum/stack_recipe("sauna oven", /obj/structure/sauna_oven, 30, time = 1.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_ENTERTAINMENT),
new/datum/stack_recipe("large wooden mortar", /obj/structure/large_mortar, 10, time = 3 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS),
new/datum/stack_recipe("wooden cutting board", /obj/item/cutting_board, 5, time = 2 SECONDS, check_density = FALSE, category = CAT_TOOLS),
new/datum/stack_recipe("wooden shelf", /obj/structure/rack/wooden, 2, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = FALSE, category = CAT_STRUCTURE),
new/datum/stack_recipe("storage barrel", /obj/structure/closet/crate/wooden/storage_barrel, 4, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = FALSE, category = CAT_STRUCTURE),
new/datum/stack_recipe("worm barrel", /obj/structure/wormfarm, 5, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS),
))

Expand Down
11 changes: 0 additions & 11 deletions modular_skyrat/modules/mapping/code/furniture.dm
Original file line number Diff line number Diff line change
Expand Up @@ -53,17 +53,6 @@
desc = "A sturdy wooden shelf with a variety of branded alcoholic drinks."
icon_state = "shelf_11"

/*
* LADDER
*/

// If you're curious to how this works, just put one down and it'll automatically detect ones in the same location above or below it.
/obj/structure/ladder/wood
name = "wooden ladder"
desc = "It's kind of fun to go up or down these once in a while."
icon = 'modular_skyrat/modules/mapping/icons/unique/furniture.dmi'
icon_state = "ladder"

// Toilet with a snap pop.
/obj/structure/toilet/snappop
contents = newlist(/obj/item/toy/snappop/phoenix)
9 changes: 0 additions & 9 deletions modular_skyrat/modules/mapping/code/icemoon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,3 @@
description = "The Iceminer arena."
suffix = "icemoon_underground_mining_site_skyrat.dmm"
always_place = TRUE

/datum/map_template/ruin/icemoon/underground/skyrat/icewalker_camp
name = "Ice Walker Camp"
id = "primitive_catgirl_den"
description = "A small, at times abandoned looking camp. Make no mistake however, as the inhabitants are usually just hibernating in a hole nearby"
prefix = "_maps/RandomRuins/IceRuins/skyrat/"
suffix = "icemoon_underground_icewalker_den.dmm"
always_place = TRUE
allow_duplicates = FALSE
Binary file modified modular_skyrat/modules/mapping/icons/unique/furniture.dmi
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,8 @@

/obj/machinery/vending/primitive_catgirl_clothing_vendor/Initialize(mapload)
. = ..()

onstation = FALSE

/obj/machinery/vending/primitive_catgirl_clothing_vendor/speak(message)
return
97 changes: 81 additions & 16 deletions modular_skyrat/modules/primitive_catgirls/code/map_items.dm
Original file line number Diff line number Diff line change
@@ -1,18 +1,3 @@
// Barrel but it works like a crate

/obj/structure/closet/crate/wooden/storage_barrel
name = "storage barrel"
desc = "This barrel can't hold liquids, it can just hold things inside of it however!"
icon_state = "barrel"
base_icon_state = "barrel"
icon = 'modular_skyrat/modules/primitive_catgirls/icons/barrel.dmi'

// Wooden shelves but not var edited

/obj/structure/rack/shelf/wooden
icon_state = "empty_shelf_1"
icon = 'modular_skyrat/modules/mapping/icons/unique/furniture.dmi'

// Bonfires but with a grill pre-attached

/obj/structure/bonfire/grill_pre_attached
Expand All @@ -23,12 +8,92 @@
grill = TRUE
add_overlay("bonfire_grill")

// Dirt but icebox
// Dirt but icebox and also farmable

/turf/open/misc/dirt/icemoon
baseturfs = /turf/open/openspace/icemoon
initial_gas_mix = "ICEMOON_ATMOS"

/turf/open/misc/dirt/icemoon/Initialize(mapload)
. = ..()
AddComponent(/datum/component/simple_farm, set_plant = TRUE)

// Water that can be fished out of

/turf/open/water/hot_spring
desc = "Water kept warm through some unknown heat source, possibly a geothermal heat source far underground. \
Whatever it is, it feels pretty damn nice to swim in given the rest of the environment around here, and you \
can even catch a glimpse of the odd fish darting through the water."
baseturfs = /turf/open/openspace/icemoon
initial_gas_mix = "ICEMOON_ATMOS"
/// Holder for the steam particles that show up sometimes
var/obj/effect/abstract/particle_holder/particle_effect

/turf/open/water/hot_spring/Initialize(mapload)
. = ..()
AddElement(/datum/element/lazy_fishing_spot, /datum/fish_source/icecat_hot_spring)
if(prob(60))
particle_effect = new(src, /particles/hotspring_steam)

/turf/open/water/hot_spring/Destroy()
QDEL_NULL(particle_effect)
return ..()

/turf/open/water/hot_spring/Entered(atom/movable/arrived)
..()
wash_atom(arrived)
wash_atom(loc)

/// Cleans the given atom of whatever dirties it
/turf/open/water/hot_spring/proc/wash_atom(atom/nasty)
nasty.wash(CLEAN_WASH)

/turf/open/water/hot_spring/Entered(atom/movable/arrived)
..()
if(istype(arrived, /mob/living))
hotspring_mood(arrived)

/// Applies the hot water mood buff on the passed mob
/turf/open/water/hot_spring/proc/hotspring_mood(mob/living/swimmer)
swimmer.add_mood_event("hotspring", /datum/mood_event/hotspring/nerfed)

/datum/mood_event/hotspring/nerfed
description = span_nicegreen("The water was enjoyably warm!\n")
mood_change = 2

// Steam particles for pairing with the hotsprings above

/particles/hotspring_steam
icon = 'icons/effects/particles/smoke.dmi'
icon_state = list(
"steam_1" = 2,
"steam_2" = 2,
"steam_3" = 1,
)
width = 64
height = 64
count = 5
spawning = 0.2
lifespan = 1 SECONDS
fade = 0.5 SECONDS
color = "#ffffff"
position = generator(GEN_BOX, list(-32,-32,0), list(32,32,0), NORMAL_RAND)
scale = generator(GEN_VECTOR, list(0.9,0.9), list(1.1,1.1), NORMAL_RAND)
drift = generator(GEN_VECTOR, list(-0.1,0), list(0.1,0.025), UNIFORM_RAND)
spin = generator(GEN_NUM, list(-15,15), NORMAL_RAND)

// Fishing source for the above water turfs

/datum/fish_source/icecat_hot_spring
fish_table = list(
/obj/item/fish/dwarf_moonfish = 5,
/obj/item/fish/needlefish = 10,
/obj/item/fish/armorfish = 10,
/obj/item/fish/chasm_crab/ice = 5,
/obj/item/stack/sheet/bone = 5,
)
catalog_description = "Hot Springs"

// The area

/area/ruin/unpowered/primitive_catgirl_den
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
anchored = TRUE
max_integrity = 100
pass_flags = PASSTABLE
resistance_flags = FLAMMABLE
custom_materials = list(/datum/material/wood = SHEET_MATERIAL_AMOUNT * 10)
/// The maximum number of items this structure can store
var/maximum_contained_items = 10
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
icon = 'modular_skyrat/modules/primitive_cooking_additions/icons/cookware.dmi'
custom_materials = null // We're going to apply custom materials when this baby is actually made
material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS
fragile = FALSE

// A few random preset types as well

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
w_class = WEIGHT_CLASS_NORMAL
pass_flags = PASSTABLE
layer = BELOW_OBJ_LAYER //So newly spawned food appears on top of the board rather than under it
resistance_flags = FLAMMABLE
///List containg list of possible inputs and resulting recipe items, taken from processor.dm and processor_recipes.dm
var/static/list/processor_inputs

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
max_integrity = 200
pass_flags = PASSTABLE
custom_materials = list(/datum/material/stone = SHEET_MATERIAL_AMOUNT * 6)
drag_slowdown = 2
/// The maximum number of items this structure can store
var/maximum_contained_items = 10

Expand All @@ -32,12 +33,22 @@

. += span_notice("And it can fit <b>[maximum_contained_items - length(contents)]</b> more items in it.")
else
. += span_notice("It can hold [maximum_contained_items], and there is nothing in it presently.")
. += span_notice("It can hold [maximum_contained_items] items, and there is nothing in it presently.")

. += span_notice("You can [anchored ? "un" : ""]secure [src] with <b>CTRL-Shift-Click/b>.")
. += span_notice("With a <b>prying tool</b> of some sort, you could take [src] apart.")

/obj/structure/millstone/Destroy()
drop_everything_contained()
return ..()

/obj/structure/millstone/deconstruct(disassembled)
var/obj/item/stack/sheet/mineral/stone = new (drop_location())
stone.amount = 6
stone.update_appearance(UPDATE_ICON)
transfer_fingerprints_to(stone)
return ..()

/obj/structure/millstone/AltClick(mob/user)
if(!length(contents))
balloon_alert(user, "nothing inside")
Expand All @@ -46,6 +57,10 @@
drop_everything_contained()
balloon_alert(user, "removed all items")

/obj/structure/millstone/CtrlShiftClick(mob/user)
set_anchored(!anchored)
balloon_alert(user, "[anchored ? "secured" : "unsecured"]")

/// Drops all contents at the mortar
/obj/structure/millstone/proc/drop_everything_contained()
if(!length(contents))
Expand All @@ -65,6 +80,13 @@
mill_it_up(user)
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN

/obj/structure/millstone/crowbar_act(mob/living/user, obj/item/tool)
. = ..()
balloon_alert_to_viewers("disassembling...")
if(!do_after(user, 2 SECONDS, src))
return
deconstruct(TRUE)

/obj/structure/millstone/attackby(obj/item/attacking_item, mob/user)
if(istype(attacking_item, /obj/item/storage/bag))
if(length(contents) >= maximum_contained_items)
Expand All @@ -88,22 +110,6 @@

return TRUE

if(attacking_item.tool_behaviour == TOOL_WRENCH)
attacking_item.play_tool_sound(src)
anchored = !anchored
balloon_alert(user, "[src] [anchored ? "anchored" : "unanchored"]")
return TRUE

if(attacking_item.tool_behaviour == TOOL_SCREWDRIVER)
attacking_item.play_tool_sound(src)

for(var/i in 1 to 6)
var/obj/item/stack/sheet/mineral/stone = new (get_turf(src))
transfer_fingerprints_to(stone)

qdel(src)
return TRUE

if(!((istype(attacking_item, /obj/item/food/grown/)) || (istype(attacking_item, /obj/item/grown))))
balloon_alert(user, "can only mill plants")
return ..()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
icon = 'modular_skyrat/modules/primitive_cooking_additions/icons/stone_kitchen_machines.dmi'
circuit = null
use_power = FALSE
flags_1 = NODECONSTRUCT_1

/// A list of the different oven trays we can spawn with
var/static/list/random_oven_tray_types = list(
Expand All @@ -26,6 +27,11 @@
var/new_tray_type_to_use = pick(random_oven_tray_types)
add_tray_to_oven(new new_tray_type_to_use(src))

/obj/machinery/oven/stone/examine(mob/user)
. = ..()

. += span_notice("It can be taken apart with a <b>crowbar</b>.")

/obj/machinery/oven/stone/add_tray_to_oven(obj/item/plate/oven_tray, mob/baker)
used_tray = oven_tray

Expand All @@ -46,4 +52,12 @@
if(particles)
particles.position = list(0, 10, 0)

/obj/machinery/oven/stone/crowbar_act(mob/living/user, obj/item/tool)
user.balloon_alert_to_viewers("disassembling...")
if(!tool.use_tool(src, user, 2 SECONDS, volume = 100))
return
new /obj/item/stack/sheet/mineral/clay(drop_location(), 5)
deconstruct(TRUE)
return TOOL_ACT_TOOLTYPE_SUCCESS

#undef OVEN_TRAY_Y_OFFSET
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,25 @@
use_power = FALSE
circuit = null
resistance_flags = FIRE_PROOF

/// A list of the different soup pots we can spawn with
var/static/list/random_soup_pot_types = list(
/obj/item/reagent_containers/cup/soup_pot/material/fake_copper,
/obj/item/reagent_containers/cup/soup_pot/material/fake_brass,
/obj/item/reagent_containers/cup/soup_pot/material/fake_tin,
)
flags_1 = NODECONSTRUCT_1

/obj/machinery/primitive_stove/Initialize(mapload)
. = ..()

var/random_chosen_soup_pot_type = pick(random_soup_pot_types)
AddComponent(/datum/component/stove/primitive, container_x = -7, container_y = 7, spawn_container = new /obj/item/reagent_containers/cup/soup_pot)

/obj/machinery/primitive_stove/examine(mob/user)
. = ..()

AddComponent(/datum/component/stove/primitive, container_x = -7, container_y = 7, spawn_container = new random_chosen_soup_pot_type)
. += span_notice("It can be taken apart with a <b>crowbar</b>.")

/obj/machinery/primitive_stove/crowbar_act(mob/living/user, obj/item/tool)
user.balloon_alert_to_viewers("disassembling...")
if(!tool.use_tool(src, user, 2 SECONDS, volume = 100))
return
new /obj/item/stack/sheet/mineral/clay(drop_location(), 5)
deconstruct(TRUE)
return TOOL_ACT_TOOLTYPE_SUCCESS

/// Stove component subtype with changed visuals and not much else
/datum/component/stove/primitive
Expand Down
Binary file not shown.
Loading

0 comments on commit f5c60cb

Please sign in to comment.