diff --git a/code/game/turfs/simulated/desert_planet_structures.dm b/code/game/turfs/simulated/desert_planet_structures.dm
deleted file mode 100644
index 6819dfd939..0000000000
--- a/code/game/turfs/simulated/desert_planet_structures.dm
+++ /dev/null
@@ -1,125 +0,0 @@
-
-/obj/structure/prop/desert_planet/rock
- name = "desert rock"
- desc = "Sandy and smooth from erosion."
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "rock"
- density = FALSE
- anchored = TRUE
-
-/obj/structure/prop/desert_planet/largerock
- name = "desert large rock"
- desc = "Sandy and smooth from erosion."
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "largerock"
- density = TRUE
- anchored = TRUE
-
-/obj/structure/prop/desert_planet/boulder1
- name = "desert boulder"
- desc = "Sandy and smooth from erosion."
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "boulder1"
- density = TRUE
- anchored = TRUE
-
-/obj/structure/prop/desert_planet/boulder2
- name = "desert boulder"
- desc = "Sandy and smooth from erosion."
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "boulder2"
- density = TRUE
- anchored = TRUE
-
-/obj/structure/prop/desert_planet/boulder3
- name = "desert boulder"
- desc = "Sandy and smooth from erosion."
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "boulder3"
- density = TRUE
- anchored = TRUE
-
-/obj/structure/prop/desert_planet/boulder4
- name = "desert boulder"
- desc = "Sandy and smooth from erosion."
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "boulder4"
- density = TRUE
- anchored = TRUE
-
-/obj/structure/prop/desert_planet/largeboulder1
- name = "desert large boulder"
- desc = "Sandy and smooth from erosion."
- icon = 'icons/turf/desert_planet_64x64.dmi'
- icon_state = "largeboulder1"
- density = TRUE
- anchored = TRUE
- bound_width = 64
- bound_height = 64
- can_buckle = FALSE
-
-/obj/structure/prop/desert_planet/largeboulder2
- name = "desert large boulder"
- desc = "Sandy and smooth from erosion."
- icon = 'icons/turf/desert_planet_64x64.dmi'
- icon_state = "largeboulder2"
- density = TRUE
- anchored = TRUE
- bound_width = 64
- bound_height = 64
- can_buckle = FALSE
-
-/obj/structure/prop/desert_planet/largeboulder3
- name = "desert large boulder"
- desc = "Sandy and smooth from erosion."
- icon = 'icons/turf/desert_planet_64x64.dmi'
- icon_state = "largeboulder3"
- density = TRUE
- anchored = TRUE
- bound_width = 64
- bound_height = 64
- can_buckle = FALSE
-
-/obj/structure/prop/desert_planet/cliff
- name = "desert cliff"
- desc = "A sheer cliff of smooth desert stone, quite steep."
- icon = 'icons/turf/desert_planet_64x64.dmi'
- icon_state = "cliff"
- density = TRUE
- anchored = TRUE
- bound_width = 64
- bound_height = 64
- can_buckle = FALSE
-
-/obj/structure/prop/desert_planet/shadow
- name = "shadow"
- desc = "Looking at the cliff's shadow, cool off from the heat."
- icon = 'icons/turf/desert_planet_64x64.dmi'
- icon_state = "shadow"
- density = TRUE
- anchored = TRUE
- bound_width = 64
- bound_height = 64
- can_buckle = FALSE
-
-/obj/structure/prop/desert_planet/palmtree
- name = "palm tree"
- desc = "Tall palm tree, makes for a good shade."
- icon = 'icons/turf/desert_planet_160x160.dmi'
- icon_state = "palmtree"
- density = FALSE
- anchored = TRUE
- bound_width = 64
- bound_height = 64
- can_buckle = FALSE
-
-/obj/structure/prop/desert_planet/palmtreeshort
- name = "palm tree"
- desc = "Tall palm tree, makes for a good shade."
- icon = 'icons/turf/desert_planet_160x160.dmi'
- icon_state = "palmtreeshort"
- density = FALSE
- anchored = TRUE
- bound_width = 64
- bound_height = 64
- can_buckle = FALSE
\ No newline at end of file
diff --git a/code/game/turfs/simulated/floor_icon.dm b/code/game/turfs/simulated/floor_icon.dm
index 82153557a8..6caaf5e99f 100644
--- a/code/game/turfs/simulated/floor_icon.dm
+++ b/code/game/turfs/simulated/floor_icon.dm
@@ -107,13 +107,18 @@ var/image/no_ceiling_image = null
// Has to have it's own edge_blending_priority
// Has to have a higher priority than us
// Their icon_state is not our icon_state
- // They don't forbid_turf_edge
+ // They don't forbid_turf_edge
if(istype(T) && T.edge_blending_priority && edge_blending_priority < T.edge_blending_priority && icon_state != T.icon_state && !T.forbid_turf_edge())
var/cache_key = "[T.get_edge_icon_state()]-[checkdir]" // Usually [icon_state]-[dirnum]
if(!turf_edge_cache[cache_key])
- var/image/I = image(icon = 'icons/turf/outdoors_edge.dmi', icon_state = "[T.get_edge_icon_state()]-edge", dir = checkdir, layer = ABOVE_TURF_LAYER) // Icon should be abstracted out
- I.plane = TURF_PLANE
- turf_edge_cache[cache_key] = I
+ if(T.modular_icon)
+ var/image/I = image(icon = 'modular_chomp/icons/turf/outdoors_edge.dmi', icon_state = "[T.get_edge_icon_state()]-edge", dir = checkdir, layer = ABOVE_TURF_LAYER) // CHOMPedit start: use our turf edges for our turfs
+ I.plane = TURF_PLANE
+ turf_edge_cache[cache_key] = I
+ else
+ var/image/I = image(icon = 'icons/turf/outdoors_edge.dmi', icon_state = "[T.get_edge_icon_state()]-edge", dir = checkdir, layer = ABOVE_TURF_LAYER) // Icon should be abstracted out
+ I.plane = TURF_PLANE
+ turf_edge_cache[cache_key] = I // CHOMPedit end
add_overlay(turf_edge_cache[cache_key])
// We will take this state and use it for a cache key, and append '-edge' to it to get the edge overlay (edges *from other turfs*, not our own internal edges)
@@ -282,4 +287,3 @@ var/image/no_ceiling_image = null
I.layer = layer
flooring_cache[cache_key] = I
return flooring_cache[cache_key]
-
diff --git a/code/game/turfs/simulated/outdoors/desert_planet.dm b/code/game/turfs/simulated/outdoors/desert_planet.dm
deleted file mode 100644
index 06bfaec04c..0000000000
--- a/code/game/turfs/simulated/outdoors/desert_planet.dm
+++ /dev/null
@@ -1,213 +0,0 @@
-/* Testing
-/turf/simulated/floor/outdoors/desert_planet/sand
- name = "sand"
- desc = "Sandy, taste salty and gritty."
- icon = 'modular_chomp/icons/turf/desert_planet.dmi'
- edge_blending_priority = 2
- turf_layers = list(/turf/simulated/floor/outdoors/rocks)
- initial_flooring = /decl/flooring/sand
- can_dig = false
-*/
-
-/turf/simulated/floor/outdoors/desert_planet/sand
- name = "sand"
- desc = "Salty and gritty."
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "sand0"
- //edge_blending_priority = 1
- turf_layers = list(/turf/simulated/floor/outdoors/rocks)
-
-/* #I want this for the desert tiles.
-/turf/simulated/floor/outdoors/desert_planet/sand
- name = "sand"
- desc = "Salty and gritty."
- icon = 'modular_chomp/icons/turf/desert_planet.dmi'
- icon_base = "sand"
- footstep_sounds = list("human" = list(
- 'sound/effects/footstep/asteroid1.ogg',
- 'sound/effects/footstep/asteroid2.ogg',
- 'sound/effects/footstep/asteroid3.ogg',
- 'sound/effects/footstep/asteroid4.ogg',
- 'sound/effects/footstep/asteroid5.ogg',
- 'sound/effects/footstep/MedDirt1.ogg',
- 'sound/effects/footstep/MedDirt2.ogg',
- 'sound/effects/footstep/MedDirt3.ogg',
- 'sound/effects/footstep/MedDirt4.ogg'))
-
-/turf/simulated/floor/outdoors/sand/Initialize(mapload)
- var/possiblesands = list(
- "sand" = 50,
- "sand" = 1,
- "ironsand3" = 1,
- "ironsand4" = 1,
- "ironsand5" = 1,
- "ironsand6" = 1,
- "ironsand7" = 1,
- "ironsand8" = 1,
- "ironsand9" = 1,
- "ironsand10" = 1,
- "ironsand11" = 1,
- "ironsand12" = 1,
- "ironsand13" = 1,
- "ironsand14" = 1,
- "ironsand15" = 1
-
- )
- flooring_override = pickweight(possiblesands)
- return ..()
-
-/turf/simulated/floor/water/hotspring
- name = "Hotsprings"
- desc = "A natural hotspring connecting to an aquifer. It seems the facility was built ontop of it."
- edge_blending_priority = -2
- movement_cost = 8
- depth = 2
- water_state = "water_shallow"
- outdoors = FALSE
-
-/turf/simulated/floor/water/hotspring/Entered(atom/movable/AM, atom/oldloc)
- if(istype(AM, /mob/living))
- var/mob/living/L = AM
- L.update_water()
- if(L.check_submerged() <= 0)
- return
- if(!istype(oldloc, /turf/simulated/floor/water/hotspring))
- to_chat(L, "You feel an overwhelming wave of warmth from entering \the [src]!")
- AM.water_act(5)
- ..()
-
-
-*/
-
-/turf/simulated/floor/outdoors/desert_planet/deep_sand
- name = "sand"
- desc = "Salty and gritty."
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "deep_sand"
- movement_cost = 3
- turf_layers = list(/turf/simulated/floor/outdoors/rocks)
-
-/turf/simulated/floor/outdoors/desert_planet/grass
- name = "grass"
- desc = "Lively green grass, soft to walk on."
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "grass"
- //edge_blending_priority = 4
- turf_layers = list(/turf/simulated/floor/outdoors/rocks)
-
-/turf/simulated/floor/outdoors/desert_planet/deep_grass
- name = "dense grass"
- desc = "Dense patch of grass, seems like a soft spot to lay on."
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "deep_grass"
- //edge_blending_priority = 5
- turf_layers = list(/turf/simulated/floor/outdoors/rocks)
-
-/turf/simulated/floor/outdoors/desert_planet/gravel
- name = "gravel"
- desc = "Mix of dirt and sand, it crumbles in your hand."
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "gravel"
- //edge_blending_priority = 2
- turf_layers = list(/turf/simulated/floor/outdoors/rocks)
-
-/turf/simulated/floor/outdoors/desert_planet/mud
- name = "mud"
- desc = "Squishy damp dirt, smells muddy."
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "mud"
- //edge_blending_priority = 3
- turf_layers = list(/turf/simulated/floor/outdoors/rocks)
-
-/turf/simulated/floor/outdoors/desert_planet/sandstone_tiles
- name = "sandstone_tiles"
- desc = "Smooth polished sandstone tiles, fitted and fixed in patters"
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "sandstone_tiles"
- //edge_blending_priority = 3
- turf_layers = list(/turf/simulated/floor/outdoors/rocks)
-
-/obj/effect/floor_decal/desert_planet/floor/sand0_edge
- name = "sand0_edge"
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "sand0_edge"
-
-/obj/effect/floor_decal/desert_planet/floor/gravel_edge
- name = "gravel_edge"
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "gravel_edge"
-
-/obj/effect/floor_decal/desert_planet/floor/mud_edge
- name = "mud_edge"
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "mud_edge"
-
-/obj/effect/floor_decal/desert_planet/floor/grass_edge
- name = "grass_edge"
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "grass_edge"
-
-/obj/effect/floor_decal/desert_planet/floor/deep_grass_edge
- name = "deep_grass_edge"
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "deep_grass_edge"
-
-
-/* #No idea how water tiles work
-/turf/simulated/floor/outdoors/desert_planet/water
- name = "water"
- desc = "Clear cool water, looks potable."
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "water"
- var/water_state = "water_shallow"
- var/under_state = "sand"
- can_be_plated = FALSE
- outdoors = OUTDOORS_YES
- flags = TURF_ACID_IMMUNE
- layer = WATER_FLOOR_LAYER
- can_dirty = FALSE // It's water
- var/depth = 1 // Higher numbers indicates deeper water.
- var/reagent_type = "water"
- edge_blending_priority = 2
- turf_layers = list(/turf/simulated/floor/outdoors/desert_planet/sand)
-
-/turf/simulated/floor/outdoors/desert_planet/deep_water
- name = "deep water"
- desc = "deep enough you can't see the bottom of it."
- icon = 'icons/turf/desert_planet.dmi'
- icon_state = "deep_water"
- var/water_state = "water_shallow"
- var/under_state = "sand"
- can_be_plated = FALSE
- outdoors = OUTDOORS_YES
- flags = TURF_ACID_IMMUNE
- layer = WATER_FLOOR_LAYER
- can_dirty = FALSE // It's water
- var/depth = 2 // Higher numbers indicates deeper water.
- var/reagent_type = "water"
- edge_blending_priority = 4
- turf_layers = list(/turf/simulated/floor/outdoors/desert_planet/sand)
-
- //I want this for the water tiles
-/turf/simulated/floor/water
- name = "shallow water"
- desc = "A body of water. It seems shallow enough to walk through, if needed."
- icon = 'icons/turf/outdoors.dmi'
- icon_state = "seashallow" // So it shows up in the map editor as water.
- var/water_state = "water_shallow"
- var/under_state = "rock"
- edge_blending_priority = -1
- movement_cost = 4
- can_be_plated = FALSE
- outdoors = OUTDOORS_YES
- flags = TURF_ACID_IMMUNE
-
- layer = WATER_FLOOR_LAYER
-
- can_dirty = FALSE // It's water
-
- var/depth = 1 // Higher numbers indicates deeper water.
-
- var/reagent_type = "water"
- // var/datum/looping_sound/water/soundloop CHOMPEdit: Removing soundloop for now.
-*/
\ No newline at end of file
diff --git a/icons/turf/desert_planet.dmi b/icons/turf/desert_planet.dmi
deleted file mode 100644
index a47b108037..0000000000
Binary files a/icons/turf/desert_planet.dmi and /dev/null differ
diff --git a/icons/turf/desert_planet_160x160.dmi b/icons/turf/desert_planet_160x160.dmi
deleted file mode 100644
index 891c4f151b..0000000000
Binary files a/icons/turf/desert_planet_160x160.dmi and /dev/null differ
diff --git a/icons/turf/outdoors_edge.dmi b/icons/turf/outdoors_edge.dmi
index 7a12aa115d..764336a4f0 100644
Binary files a/icons/turf/outdoors_edge.dmi and b/icons/turf/outdoors_edge.dmi differ
diff --git a/modular_chomp/code/game/turfs/simulated/desert_planet_structures.dm b/modular_chomp/code/game/turfs/simulated/desert_planet_structures.dm
new file mode 100644
index 0000000000..e7f38907f5
--- /dev/null
+++ b/modular_chomp/code/game/turfs/simulated/desert_planet_structures.dm
@@ -0,0 +1,186 @@
+// TODO: split up icon files so all of this isn't reading from the turfs folder
+
+/obj/structure/prop/desert_planet
+ icon = 'modular_chomp/icons/turf/desert_planet.dmi'
+ desc = "Sandy and smooth from erosion."
+ density = TRUE
+ anchored = TRUE
+
+/obj/structure/prop/desert_planet/rock
+ name = "desert rock"
+ icon_state = "rock"
+ density = FALSE
+
+/obj/structure/prop/desert_planet/largerock
+ name = "desert large rock"
+ icon_state = "largerock"
+
+/obj/structure/prop/desert_planet/boulder1
+ name = "desert boulder"
+ icon_state = "boulder1"
+
+/obj/structure/prop/desert_planet/boulder2
+ name = "desert boulder"
+ icon_state = "boulder2"
+
+/obj/structure/prop/desert_planet/boulder3
+ name = "desert boulder"
+ icon_state = "boulder3"
+
+/obj/structure/prop/desert_planet/boulder4
+ name = "desert boulder"
+ icon_state = "boulder4"
+
+/obj/structure/prop/desert_planet64x64
+ name = "desert large boulder"
+ desc = "Sandy and smooth from erosion."
+ icon = 'modular_chomp/icons/turf/desert_planet_64x64.dmi'
+ density = TRUE
+ anchored = TRUE
+ bound_width = 64
+ bound_height = 64
+ can_buckle = FALSE
+
+/obj/structure/prop/desert_planet64x64/largeboulder1
+ icon_state = "largeboulder1"
+
+/obj/structure/prop/desert_planet64x64/largeboulder2
+ icon_state = "largeboulder2"
+
+/obj/structure/prop/desert_planet64x64/largeboulder3
+ icon_state = "largeboulder3"
+
+/obj/structure/prop/desert_planet64x64/cliff
+ name = "desert cliff"
+ desc = "A sheer cliff of smooth desert stone, quite steep."
+ icon_state = "cliff"
+
+/obj/structure/prop/desert_planet64x64/shadow
+ name = "shadow"
+ desc = "The cliff shadow looks useful for cooling off from the heat."
+ icon_state = "shadow"
+
+/obj/structure/prop/desert_planet160x160
+ name = "desert large boulder"
+ desc = "Sandy and smooth from erosion."
+ icon = 'modular_chomp/icons/turf/desert_planet_160x160.dmi'
+ density = TRUE
+ anchored = TRUE
+ bound_width = 160
+ bound_height = 160
+ can_buckle = FALSE
+
+/obj/structure/prop/desert_planet160x160/largeboulder
+ icon_state = "large_boulder"
+
+/obj/structure/prop/desert_planet160x160/tallboulder
+ icon_state = "tall_boulder"
+
+/obj/structure/prop/desert_planet160x160/boulder
+ icon_state = "boulder"
+
+/obj/structure/prop/desert_planet160x160/lcactus
+ name = "cactus"
+ desc = "Large and prickly."
+ icon_state = "lcactus"
+
+/obj/structure/prop/desert_planet160x160/lcactus1
+ name = "cactus"
+ desc = "Large and prickly."
+ icon_state = "lcactus1"
+
+/obj/structure/prop/desert_planet160x160/lcactus2
+ name = "cactus"
+ desc = "Large and prickly."
+ icon_state = "lcactus2"
+
+/obj/structure/prop/desert_planet160x160/lcactus3
+ name = "cactus"
+ desc = "Large and prickly."
+ icon_state = "lcactus3"
+
+/obj/structure/flora/desert_planet
+ name = "desert plant"
+ desc = "Probably a succulent"
+ icon = 'modular_chomp/icons/turf/desert_planet.dmi'
+
+/obj/structure/flora/desert_planet/floralia
+ name = "floralia"
+ desc = "Faintly floral."
+ icon_state = "floralia"
+
+/obj/structure/flora/desert_planet/ike
+ name = "ike"
+ desc = "Bushy."
+ icon_state = "ike"
+
+/obj/structure/flora/desert_planet/barrelcactus
+ name = "barrel cactus"
+ desc = "Round and prickly."
+ icon_state = "barrelcactus"
+
+/obj/structure/flora/tree/desert_planet
+ name = "palm tree"
+ desc = "Tall palm tree, makes for a good shade."
+ icon = 'modular_chomp/icons/turf/desert_planet_160x160.dmi'
+ density = FALSE
+ anchored = TRUE
+ bound_width = 160
+ bound_height = 160
+ can_buckle = FALSE
+ product = /obj/item/stack/material/log
+ product_amount = 50
+ health = 2000
+ max_health = 2000
+ //var/fruit
+
+/obj/structure/flora/tree/desert_planet/palmtreeb
+ icon_state = "palmtreeb"
+
+/obj/structure/flora/tree/desert_planet/palmtreeb1
+ icon_state = "palmtreeb1"
+
+/obj/structure/flora/tree/desert_planet/palmtree
+ icon_state = "palmtree"
+
+/obj/structure/flora/tree/desert_planet/palmtree1
+ icon_state = "palmtree1"
+
+/obj/structure/flora/tree/desert_planet/mpalmtreeb
+ icon_state = "mpalmtreeb"
+
+/obj/structure/flora/tree/desert_planet/mpalmtreeb1
+ icon_state = "mpalmtreeb1"
+
+/obj/structure/flora/tree/desert_planet/mpalmtree
+ icon_state = "mpalmtree"
+
+/obj/structure/flora/tree/desert_planet/mpalmtree1
+ icon_state = "mpalmtree1"
+
+/obj/structure/flora/tree/desert_planet/spalmtree
+ icon_state = "spalmtree"
+
+/obj/structure/flora/tree/desert_planet/spalmtree2
+ icon_state = "spalmtree2"
+
+/obj/structure/flora/tree/desert_planet/spalmtree3
+ icon_state = "spalmtree3"
+
+/obj/structure/flora/tree/desert_planet/spalmtree4
+ icon_state = "spalmtree4"
+
+/obj/structure/flora/tree/desert_planet/desert_tree
+ name = "barren tree"
+ desc = "Completely barren."
+ icon_state = "desert_tree"
+
+/obj/structure/flora/tree/desert_planet/desert_tree1
+ name = "gnarled tree"
+ desc = "Twisted but living."
+ icon_state = "desert_tree1"
+
+/obj/structure/flora/tree/desert_planet/desert_tree3
+ name = "hardy tree"
+ desc = "Thriving despite the conditions."
+ icon_state = "desert_tree3"
diff --git a/modular_chomp/code/game/turfs/simulated/outdoors/desert_planet.dm b/modular_chomp/code/game/turfs/simulated/outdoors/desert_planet.dm
index 58f1b1eea9..ae996c7c2a 100644
--- a/modular_chomp/code/game/turfs/simulated/outdoors/desert_planet.dm
+++ b/modular_chomp/code/game/turfs/simulated/outdoors/desert_planet.dm
@@ -9,128 +9,193 @@
can_dig = false
*/
+// Parent turf.
+/turf/simulated/floor/outdoors/desert_planet
+ name = "sand"
+ desc = "Salty and gritty."
+ icon = 'modular_chomp/icons/turf/desert_planet.dmi'
+ modular_icon = TRUE // This must be true to add edges from our .dmi files.
+
/turf/simulated/floor/outdoors/desert_planet/sand
name = "sand"
desc = "Salty and gritty."
- icon = 'modular_chomp/icons/turf/desert_planet.dmi'
- icon_state = "sand"
- edge_blending_priority = 3
- turf_layers = list(/turf/simulated/floor/outdoors/desert_planet/sand)
+ icon_state = "sand0"
+ edge_blending_priority = 2
-/* Testing
-/decl/flooring/outdoors/sand
- name = "sand"
- desc = "Salty and gritty."
- icon = 'modular_chomp/icons/turf/desert_planet.dmi'
- icon_base = "sand"
- footstep_sounds = list("human" = list(
- 'sound/effects/footstep/asteroid1.ogg',
- 'sound/effects/footstep/asteroid2.ogg',
- 'sound/effects/footstep/asteroid3.ogg',
- 'sound/effects/footstep/asteroid4.ogg',
- 'sound/effects/footstep/asteroid5.ogg',
- 'sound/effects/footstep/MedDirt1.ogg',
- 'sound/effects/footstep/MedDirt2.ogg',
- 'sound/effects/footstep/MedDirt3.ogg',
- 'sound/effects/footstep/MedDirt4.ogg'))
+// Necessary to get the edges to generate correctly since we use a random-ish icon_state. Inelegant to hard code, but this is a one-off case.
+/turf/simulated/floor/outdoors/desert_planet/sand/get_edge_icon_state()
+ return "sand"
-/turf/simulated/floor/outdoors/sand/Initialize(mapload)
- var/possiblesands = list(
- "ironsand1" = 50,
- "ironsand2" = 1,
- "ironsand3" = 1,
- "ironsand4" = 1,
- "ironsand5" = 1,
- "ironsand6" = 1,
- "ironsand7" = 1,
- "ironsand8" = 1,
- "ironsand9" = 1,
- "ironsand10" = 1,
- "ironsand11" = 1,
- "ironsand12" = 1,
- "ironsand13" = 1,
- "ironsand14" = 1,
- "ironsand15" = 1
+/turf/simulated/floor/outdoors/desert_planet/sand/Initialize(mapload)
+ . = ..()
+ icon_state = "sand[rand(0,2)]"
- )
- flooring_override = pickweight(possiblesands)
- return ..()
-
-/turf/simulated/floor/water/hotspring
- name = "Hotsprings"
- desc = "A natural hotspring connecting to an aquifer. It seems the facility was built ontop of it."
- edge_blending_priority = -2
- movement_cost = 8
- depth = 2
- water_state = "water_shallow"
- outdoors = FALSE
-
-/turf/simulated/floor/water/hotspring/Entered(atom/movable/AM, atom/oldloc)
- if(istype(AM, /mob/living))
- var/mob/living/L = AM
- L.update_water()
- if(L.check_submerged() <= 0)
- return
- if(!istype(oldloc, /turf/simulated/floor/water/hotspring))
- to_chat(L, "You feel an overwhelming wave of warmth from entering \the [src]!")
- AM.water_act(5)
- ..()
-
-
-*/
+/turf/simulated/floor/outdoors/desert_planet/sand/attackby(var/obj/item/W, var/mob/user)
+ if(istype(W, /obj/item/weapon/shovel))
+ to_chat(user, "You begin to remove \the [src] with your [W].")
+ if(do_after(user, 4 SECONDS * W.toolspeed))
+ to_chat(user, "\The [src] has been dug up, and now lies in a pile nearby.")
+ icon_state = "sand_dug"
+ new /obj/item/weapon/ore/glass (src)
+ else
+ to_chat(user, "You decide to not finish removing \the [src].")
+ else
+ ..()
/turf/simulated/floor/outdoors/desert_planet/deep_sand
name = "sand"
- desc = "Salty and gritty."
- icon = 'modular_chomp/icons/turf/desert_planet.dmi'
- icon_state = "deep_sand"
- edge_blending_priority = 2
- turf_layers = list(/turf/simulated/floor/outdoors/desert_planet/sand)
+ desc = "Really gets everywhere."
+ icon_state = "deep_sand0"
+ edge_blending_priority = 1
+ movement_cost = 3
+
+/turf/simulated/floor/outdoors/desert_planet/deep_sand/Initialize(mapload)
+ . = ..()
+ icon_state = "deep_sand[rand(0,2)]"
/turf/simulated/floor/outdoors/desert_planet/grass
name = "grass"
desc = "Lively green grass, soft to walk on."
- icon = 'modular_chomp/icons/turf/desert_planet.dmi'
icon_state = "grass"
- edge_blending_priority = 6
- turf_layers = list(/turf/simulated/floor/outdoors/desert_planet/sand)
+ edge_blending_priority = 5
/turf/simulated/floor/outdoors/desert_planet/deep_grass
name = "dense grass"
desc = "Dense patch of grass, seems like a soft spot to lay on."
- icon = 'modular_chomp/icons/turf/desert_planet.dmi'
icon_state = "deep_grass"
- edge_blending_priority = 7
- turf_layers = list(/turf/simulated/floor/outdoors/desert_planet/sand)
+ edge_blending_priority = 6
/turf/simulated/floor/outdoors/desert_planet/gravel
name = "gravel"
desc = "Mix of dirt and sand, it crumbles in your hand."
- icon = 'modular_chomp/icons/turf/desert_planet.dmi'
icon_state = "gravel"
- edge_blending_priority = 5
- turf_layers = list(/turf/simulated/floor/outdoors/desert_planet/sand)
+ edge_blending_priority = 3
/turf/simulated/floor/outdoors/desert_planet/mud
name = "mud"
desc = "Squishy damp dirt, smells muddy."
- icon = 'modular_chomp/icons/turf/desert_planet.dmi'
icon_state = "mud"
edge_blending_priority = 4
- turf_layers = list(/turf/simulated/floor/outdoors/desert_planet/sand)
+// At last we've come full circle, a floor which is actually a wall.
+/turf/simulated/floor/outdoors/desert_planet/sandrock
+ name = "sandstone"
+ desc = "Worn, patterned sandstone."
+ icon_state = "sandrock"
+ density = TRUE
+ opacity = TRUE
+ turf_layers = list(/turf/simulated/floor/outdoors/rocks)
+ var/last_act = 0
+
+// Stolen from mineral turf code.
+/turf/simulated/floor/outdoors/desert_planet/sandrock/attackby(obj/item/weapon/W as obj, mob/user as mob)
+ if(!user.IsAdvancedToolUser())
+ to_chat(user, "You don't have the dexterity to do this!")
+ return
+
+ if(istype(W, /obj/item/weapon/pickaxe))
+ if(!istype(user.loc, /turf))
+ return
+
+ var/obj/item/weapon/pickaxe/P = W
+ if(last_act + P.digspeed > world.time)//prevents message spam
+ return
+ last_act = world.time
+
+ playsound(user, P.drill_sound, 20, 1)
+ to_chat(user, "You start [P.drill_verb].")
+
+ if(do_after(user,P.digspeed))
+
+ to_chat(user, "You finish [P.drill_verb] \the [src].")
+ new /obj/item/stack/material/sandstone(src)
+ density = FALSE
+ opacity = FALSE
+ demote() // Converts the turf to the next layer in turf_layers.
+ ..()
+
+/*
+/obj/effect/floor_decal/desert_planet/floor/sand0_edge
+ name = "sand0_edge"
+ icon = 'icons/turf/desert_planet.dmi'
+ icon_state = "sand0_edge"
+
+/obj/effect/floor_decal/desert_planet/floor/gravel_edge
+ name = "gravel_edge"
+ icon = 'icons/turf/desert_planet.dmi'
+ icon_state = "gravel_edge"
+
+/obj/effect/floor_decal/desert_planet/floor/mud_edge
+ name = "mud_edge"
+ icon = 'icons/turf/desert_planet.dmi'
+ icon_state = "mud_edge"
+
+/obj/effect/floor_decal/desert_planet/floor/grass_edge
+ name = "grass_edge"
+ icon = 'icons/turf/desert_planet.dmi'
+ icon_state = "grass_edge"
+
+/obj/effect/floor_decal/desert_planet/floor/deep_grass_edge
+ name = "deep_grass_edge"
+ icon = 'icons/turf/desert_planet.dmi'
+ icon_state = "deep_grass_edge"
+*/
+
+/* #No idea how water tiles work
/turf/simulated/floor/outdoors/desert_planet/water
name = "water"
desc = "Clear cool water, looks potable."
- icon = 'modular_chomp/icons/turf/desert_planet.dmi'
+ icon = 'icons/turf/desert_planet.dmi'
icon_state = "water"
- edge_blending_priority = 8
+ var/water_state = "water_shallow"
+ var/under_state = "sand"
+ can_be_plated = FALSE
+ outdoors = OUTDOORS_YES
+ flags = TURF_ACID_IMMUNE
+ layer = WATER_FLOOR_LAYER
+ can_dirty = FALSE // It's water
+ var/depth = 1 // Higher numbers indicates deeper water.
+ var/reagent_type = "water"
+ edge_blending_priority = 2
turf_layers = list(/turf/simulated/floor/outdoors/desert_planet/sand)
/turf/simulated/floor/outdoors/desert_planet/deep_water
name = "deep water"
desc = "deep enough you can't see the bottom of it."
- icon = 'modular_chomp/icons/turf/desert_planet.dmi'
+ icon = 'icons/turf/desert_planet.dmi'
icon_state = "deep_water"
- edge_blending_priority = 9
+ var/water_state = "water_shallow"
+ var/under_state = "sand"
+ can_be_plated = FALSE
+ outdoors = OUTDOORS_YES
+ flags = TURF_ACID_IMMUNE
+ layer = WATER_FLOOR_LAYER
+ can_dirty = FALSE // It's water
+ var/depth = 2 // Higher numbers indicates deeper water.
+ var/reagent_type = "water"
+ edge_blending_priority = 4
turf_layers = list(/turf/simulated/floor/outdoors/desert_planet/sand)
+
+ //I want this for the water tiles
+/turf/simulated/floor/water
+ name = "shallow water"
+ desc = "A body of water. It seems shallow enough to walk through, if needed."
+ icon = 'icons/turf/outdoors.dmi'
+ icon_state = "seashallow" // So it shows up in the map editor as water.
+ var/water_state = "water_shallow"
+ var/under_state = "rock"
+ edge_blending_priority = -1
+ movement_cost = 4
+ can_be_plated = FALSE
+ outdoors = OUTDOORS_YES
+ flags = TURF_ACID_IMMUNE
+
+ layer = WATER_FLOOR_LAYER
+
+ can_dirty = FALSE // It's water
+
+ var/depth = 1 // Higher numbers indicates deeper water.
+
+ var/reagent_type = "water"
+ // var/datum/looping_sound/water/soundloop CHOMPEdit: Removing soundloop for now.
+*/
diff --git a/modular_chomp/code/game/turfs/simulated/simulated.dm b/modular_chomp/code/game/turfs/simulated/simulated.dm
new file mode 100644
index 0000000000..efca9751f2
--- /dev/null
+++ b/modular_chomp/code/game/turfs/simulated/simulated.dm
@@ -0,0 +1,2 @@
+/turf/simulated
+ var/modular_icon = FALSE // Currently necessary for turf edges which read from our .dmi files.
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/desert_planet_mobs_ch.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/desert_planet_mobs.dm
similarity index 87%
rename from code/modules/mob/living/simple_mob/subtypes/vore/desert_planet_mobs_ch.dm
rename to modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/desert_planet_mobs.dm
index 9eecad9346..78711d4c08 100644
--- a/code/modules/mob/living/simple_mob/subtypes/vore/desert_planet_mobs_ch.dm
+++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/desert_planet_mobs.dm
@@ -1,10 +1,10 @@
/mob/living/simple_mob/animal/passive/dog/stray
name = "dog"
- desc = "The most standard dog you have evern see, it even smells like one."
+ desc = "The most standard dog you have ever seen, it even smells like one."
tt_desc = "Canis lupus familiaris"
//faction = "mexico" //They are from Mexico. //Amusing but this prompts aggression from crew-aligned mobs.
- icon = 'icons/turf/desert_planet.dmi'
+ icon = 'modular_chomp/icons/turf/desert_planet.dmi'
icon_state = "dog"
item_state = "dog"
icon_living = "dog"
@@ -44,4 +44,4 @@
speak_emote = list("rumbles", "chirr?", "churr")
- say_list_type = /datum/say_list/armadillo
\ No newline at end of file
+ say_list_type = /datum/say_list/armadillo
diff --git a/modular_chomp/icons/turf/desert_planet.dmi b/modular_chomp/icons/turf/desert_planet.dmi
index c9b6d3a7b5..dbe1af748b 100644
Binary files a/modular_chomp/icons/turf/desert_planet.dmi and b/modular_chomp/icons/turf/desert_planet.dmi differ
diff --git a/modular_chomp/icons/turf/desert_planet_160x160.dmi b/modular_chomp/icons/turf/desert_planet_160x160.dmi
new file mode 100644
index 0000000000..508d214d6f
Binary files /dev/null and b/modular_chomp/icons/turf/desert_planet_160x160.dmi differ
diff --git a/icons/turf/desert_planet_64x64.dmi b/modular_chomp/icons/turf/desert_planet_64x64.dmi
similarity index 100%
rename from icons/turf/desert_planet_64x64.dmi
rename to modular_chomp/icons/turf/desert_planet_64x64.dmi
diff --git a/modular_chomp/icons/turf/outdoors_edge.dmi b/modular_chomp/icons/turf/outdoors_edge.dmi
index c9b6d3a7b5..773963e371 100644
Binary files a/modular_chomp/icons/turf/outdoors_edge.dmi and b/modular_chomp/icons/turf/outdoors_edge.dmi differ
diff --git a/vorestation.dme b/vorestation.dme
index 38d172e1da..5a070adb38 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -1721,7 +1721,6 @@
#include "code\game\turfs\initialization\init.dm"
#include "code\game\turfs\initialization\maintenance.dm"
#include "code\game\turfs\simulated\angled_walls_and_doors_department_colors.dm"
-#include "code\game\turfs\simulated\desert_planet_structures.dm"
#include "code\game\turfs\simulated\fancy_shuttles.dm"
#include "code\game\turfs\simulated\floor.dm"
#include "code\game\turfs\simulated\floor_acts.dm"
@@ -1744,7 +1743,6 @@
#include "code\game\turfs\simulated\dungeon\floor.dm"
#include "code\game\turfs\simulated\dungeon\wall.dm"
#include "code\game\turfs\simulated\outdoors\atmoscaves_vr.dm"
-#include "code\game\turfs\simulated\outdoors\desert_planet.dm"
#include "code\game\turfs\simulated\outdoors\dirt.dm"
#include "code\game\turfs\simulated\outdoors\grass.dm"
#include "code\game\turfs\simulated\outdoors\ironsand_vr.dm"
@@ -3360,7 +3358,6 @@
#include "code\modules\mob\living\simple_mob\subtypes\vore\cookiegirl.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\corrupt_hounds.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\deathclaw.dm"
-#include "code\modules\mob\living\simple_mob\subtypes\vore\desert_planet_mobs_ch.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\dino.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\dominated_brain.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\dragon.dm"
@@ -4515,6 +4512,8 @@
#include "modular_chomp\code\game\machinery\airconditioner_ch.dm"
#include "modular_chomp\code\game\objects\structures\watercloset_ch.dm"
#include "modular_chomp\code\game\objects\structures\crate_lockers\largecrate.dm"
+#include "modular_chomp\code\game\turfs\simulated\simulated.dm"
+#include "modular_chomp\code\game\turfs\simulated\desert_planet_structures.dm"
#include "modular_chomp\code\game\turfs\simulated\outdoors\desert_planet.dm"
#include "modular_chomp\code\modules\admin\functions\modify_traits.dm"
#include "modular_chomp\code\modules\client\preferences.dm"
@@ -4565,6 +4564,7 @@
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\mechanical\drones\combat_drone.dm"
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\mechanical\mecha\gygax.dm"
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\vore\bigdragon.dm"
+#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\vore\desert_planet_mobs.dm"
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\vore\greatwolf.dm"
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\vore\vore.dm"
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\vore\wolf.dm"