diff --git a/_maps/map_files/Drought/Drought.dmm b/_maps/map_files/Drought/Drought.dmm
index 7e8a992305f..3af2b948cf2 100644
--- a/_maps/map_files/Drought/Drought.dmm
+++ b/_maps/map_files/Drought/Drought.dmm
@@ -4917,6 +4917,12 @@
/obj/effect/landmark/start/ms13/wastelander,
/turf/open/floor/plating/ms13/ground/desertalt,
/area/ms13/desert)
+"eBK" = (
+/obj/structure/ms13/trash/wood{
+ dir = 8
+ },
+/turf/open/floor/plating/ms13/ground/desert,
+/area/ms13/desert)
"eCL" = (
/obj/structure/chair/ms13/overlaypickup/plastic,
/obj/structure/ms13/wall_decor/clock,
@@ -9663,6 +9669,10 @@
/obj/structure/ms13/sandbag,
/turf/open/floor/plating/ms13/ground/desert,
/area/ms13/water_baron)
+"juW" = (
+/obj/effect/spawner/random/ms13/currency/drought/tier2,
+/turf/open/floor/plating/ms13/ground/desert,
+/area/ms13/desert)
"jvp" = (
/obj/effect/turf_decal/ms13/covering/tiles/white,
/obj/effect/turf_decal/ms13/graffiti/aid,
@@ -16459,9 +16469,9 @@
/turf/open/floor/wood/ms13/common,
/area/ms13/town)
"qbr" = (
-/obj/effect/turf_decal/ms13/graffiti/stop,
-/turf/closed/wall/ms13/concrete,
-/area/ms13/town)
+/obj/effect/spawner/random/ms13/minefield,
+/turf/open/floor/plating/ms13/ground/desertalt,
+/area/ms13/desert)
"qbJ" = (
/obj/structure/ms13/trash/cardboard{
dir = 8
@@ -16798,7 +16808,7 @@
/turf/open/floor/plating/ms13/ground/desert,
/area/ms13/desert)
"qpO" = (
-/obj/effect/turf_decal/ms13/graffiti/many_eyes,
+/obj/effect/turf_decal/ms13/graffiti/skullbones,
/turf/closed/wall/ms13/concrete,
/area/ms13/town)
"qpP" = (
@@ -20653,11 +20663,11 @@
/turf/open/floor/wood/ms13/wide,
/area/ms13/town)
"ucI" = (
-/obj/structure/ms13/trash/wood{
- dir = 8
+/obj/effect/turf_decal/ms13/graffiti/mines{
+ dir = 1
},
-/turf/closed/indestructible/rock/ms13/drought,
-/area/ms13/underground/mountain)
+/turf/open/floor/plating/ms13/ground/sidewalk,
+/area/ms13/desert)
"ucN" = (
/obj/structure/railing/ms13/wood{
dir = 8
@@ -22398,6 +22408,10 @@
/obj/effect/spawner/random/ms13/crafting/lowrandom,
/turf/open/floor/ms13/concrete,
/area/ms13/town)
+"vRY" = (
+/obj/structure/ms13/sign/mine,
+/turf/open/floor/plating/ms13/ground/desert,
+/area/ms13/desert)
"vSu" = (
/obj/machinery/light/ms13/bulb{
dir = 1
@@ -23758,6 +23772,10 @@
/obj/structure/ms13/pipes/vertical/east/valve,
/turf/open/floor/ms13/concrete/industrial,
/area/ms13/town)
+"xxm" = (
+/obj/effect/spawner/random/ms13/minefield,
+/turf/open/floor/plating/ms13/ground/desert,
+/area/ms13/desert)
"xxC" = (
/obj/effect/turf_decal/ms13/graffiti/die_young,
/turf/open/floor/ms13/tile/full/black,
@@ -24713,7 +24731,7 @@ blm
blm
blm
blm
-ucI
+blm
blm
blm
blm
@@ -24916,7 +24934,7 @@ blm
blm
blm
blm
-oSs
+eBK
oSs
oSs
oSs
@@ -25714,7 +25732,7 @@ oSs
oSs
oSs
oSs
-oSs
+xxm
oSs
oSs
oSs
@@ -25924,7 +25942,7 @@ oSs
oSs
oSs
oSs
-oSs
+xxm
oSs
oSs
oSs
@@ -26121,7 +26139,7 @@ oSs
oSs
oSs
oSs
-oSs
+dfe
oSs
oSs
oSs
@@ -26520,7 +26538,7 @@ oSs
oSs
oSs
oSs
-ktX
+hgp
oSs
oSs
oSs
@@ -26722,13 +26740,13 @@ oSs
oSs
oSs
oSs
-hgp
-oSs
+qbr
oSs
oSs
oSs
oSs
oSs
+xxm
oSs
oSs
oSs
@@ -28329,7 +28347,7 @@ gwb
lRa
jJD
gwb
-jJD
+pXu
jJD
jJD
jJD
@@ -28534,8 +28552,7 @@ nRU
jJD
jJD
oIS
-pXu
-oSs
+ucI
oSs
oSs
oSs
@@ -28549,6 +28566,7 @@ oSs
oSs
oSs
oSs
+vRY
oSs
oSs
oSs
@@ -28938,11 +28956,11 @@ wIP
eIm
jJD
jJD
-qbr
+wIP
hgp
hgp
oSs
-oSs
+xxm
oSs
oSs
oSs
@@ -29149,7 +29167,7 @@ oSs
oSs
oSs
oSs
-oSs
+xxm
oSs
oSs
oSs
@@ -29544,7 +29562,7 @@ wIP
wIP
jMj
wIP
-wIP
+qpO
hgp
hgp
oSs
@@ -29746,7 +29764,7 @@ gyR
dZS
crx
pIT
-qpO
+wIP
hgp
hgp
oSs
@@ -29955,13 +29973,13 @@ oSs
oSs
oSs
oSs
+xxm
oSs
oSs
oSs
oSs
oSs
-oSs
-oSs
+xxm
oSs
oSs
hgp
@@ -30160,7 +30178,7 @@ oSs
oSs
oSs
oSs
-oSs
+juW
oSs
oSs
oSs
@@ -30356,7 +30374,7 @@ wIP
hgp
hgp
oSs
-oSs
+xxm
oSs
oSs
oSs
diff --git a/_maps/map_files/Drought/Drought_below.dmm b/_maps/map_files/Drought/Drought_below.dmm
index 4914ef9d96e..2617d785be8 100644
--- a/_maps/map_files/Drought/Drought_below.dmm
+++ b/_maps/map_files/Drought/Drought_below.dmm
@@ -262,7 +262,6 @@
"ce" = (
/obj/structure/closet/crate/ms13/woodcrate/compact/army,
/obj/effect/spawner/random/ms13/power_armor/parts,
-/obj/effect/spawner/random/ms13/power_armor/parts,
/turf/open/floor/ms13/concrete/industrial,
/area/ms13/town)
"ci" = (
@@ -1771,8 +1770,7 @@
/area/ms13/town)
"lK" = (
/obj/structure/closet/crate/ms13/woodcrate/compact/army,
-/obj/effect/spawner/random/ms13/melee/highrandom,
-/obj/effect/spawner/random/ms13/gun/tier3,
+/obj/effect/spawner/random/ms13/gun/highrandom,
/turf/open/floor/ms13/concrete/industrial,
/area/ms13/town)
"lL" = (
@@ -2395,7 +2393,7 @@
dir = 1
},
/obj/structure/ms13/pa_jack,
-/obj/effect/spawner/random/ms13/power_armor/highrandom,
+/obj/effect/spawner/random/ms13/power_armor/lowrandom,
/turf/open/floor/ms13/concrete/industrial,
/area/ms13/town)
"qd" = (
@@ -7054,7 +7052,7 @@
"VN" = (
/obj/structure/closet/crate/ms13/woodcrate/compact/army,
/obj/effect/spawner/random/ms13/clothing/backpack/high,
-/obj/effect/spawner/random/ms13/gun/highrandom,
+/obj/effect/spawner/random/ms13/gun/lowrandom,
/turf/open/floor/ms13/concrete/industrial,
/area/ms13/town)
"VU" = (
@@ -43681,7 +43679,7 @@ uD
vu
UP
zG
-SN
+VU
uc
vu
vu
@@ -44084,7 +44082,7 @@ uD
uD
vu
GZ
-nG
+VU
VU
VU
wX
diff --git a/mojave/code/game/objects/traps/mine.dm b/mojave/code/game/objects/traps/mine.dm
deleted file mode 100644
index 5471248badf..00000000000
--- a/mojave/code/game/objects/traps/mine.dm
+++ /dev/null
@@ -1,78 +0,0 @@
-
-/obj/effect/mine/ms13/explosive
- name = "Frag"
- icon_state = "frag_primed"
- var/inactive_state = "frag_armed"
- /// The devastation range of the resulting explosion.
- var/range_devastation = 0
- /// The heavy impact range of the resulting explosion.
- var/range_heavy = 1
- /// The light impact range of the resulting explosion.
- var/range_light = 2
- /// The flame range of the resulting explosion.
- var/range_flame = 0
- /// The flash range of the resulting explosion.
- var/range_flash = 3
-
- arm_delay = 5 SECONDS
-
-/obj/effect/mine/ms13/explosive/Initialize(mapload)
- . = ..()
- if(arm_delay)
- armed = FALSE
- icon_state = inactive_state
- addtimer(CALLBACK(src, PROC_REF(now_armed)), arm_delay)
- var/static/list/loc_connections = list(
- COMSIG_ATOM_ENTERED = PROC_REF(on_entered),
- )
- AddElement(/datum/element/connect_loc, loc_connections)
-
-/obj/effect/mine/ms13/explosive/examine(mob/user)
- . = ..()
- if(!armed)
- . += "\tIt appears to be inactive..."
-
-/// The effect of the mine
-/obj/effect/mine/ms13/explosive/mineEffect(mob/victim)
- explosion(src, range_devastation, range_heavy, range_light, range_flame, range_flash)
-
-/// If the landmine was previously inactive, this beeps and displays a message marking it active
-/obj/effect/mine/ms13/explosive/now_armed()
- armed = TRUE
- icon_state = initial(icon_state)
- playsound(src, 'mojave/sound/ms13machines/frag_mine_arm.ogg', 40, FALSE, -2)
- visible_message(span_danger("\The [src] beeps softly, indicating it is now active."), vision_distance = COMBAT_MESSAGE_RANGE)
-
-/obj/effect/mine/ms13/explosive/on_entered(datum/source, atom/movable/AM)
- . = ..()
-
-/obj/effect/mine/ms13/explosive/take_damage(damage_amount, damage_type, damage_flag, sound_effect, attack_dir)
- . = ..()
- triggermine()
-
-/// When something sets off a mine
-/obj/effect/mine/ms13/explosive/triggermine(atom/movable/triggerer)
- if(iseffect(triggerer))
- return
- if(triggered) //too busy detonating to detonate again
- return
- if(triggerer)
- visible_message(span_danger("[triggerer] sets off [icon2html(src, viewers(src))] [src]!"))
- else
- visible_message(span_danger("[icon2html(src, viewers(src))] [src] detonates!"))
-
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(3, 1, src)
- s.start()
- if(ismob(triggerer))
- mineEffect(triggerer)
- triggered = TRUE
- SEND_SIGNAL(src, COMSIG_MINE_TRIGGERED, triggerer)
- qdel(src)
-
-/obj/effect/spawner/random/ms13/explosive_mines
- name = "Explosive mines"
- spawn_loot_chance = 50
- loot = list(
- /obj/effect/mine/ms13/explosive
- )
diff --git a/mojave/code/game/objects/traps/ms13_traps.dm b/mojave/code/game/objects/traps/ms13_traps.dm
index 18f6b326dc0..597677d2987 100644
--- a/mojave/code/game/objects/traps/ms13_traps.dm
+++ b/mojave/code/game/objects/traps/ms13_traps.dm
@@ -1,2 +1,93 @@
/obj/effect/mine/ms13
icon = 'mojave/icons/objects/ms_traps.dmi'
+
+/obj/effect/mine/ms13/explosive
+ name = "explosive mine"
+ desc = "Looks incredibly dangerous..."
+ icon_state = "frag_primed"
+ var/inactive_state = "frag_armed"
+ /// The devastation range of the resulting explosion.
+ var/range_devastation = 0
+ /// The heavy impact range of the resulting explosion.
+ var/range_heavy = 1
+ /// The light impact range of the resulting explosion.
+ var/range_light = 2
+ /// The flame range of the resulting explosion.
+ var/range_flame = 0
+ /// The flash range of the resulting explosion.
+ var/range_flash = 3
+
+ arm_delay = 5 SECONDS
+
+/obj/effect/mine/ms13/explosive/Initialize(mapload)
+ . = ..()
+ if(arm_delay)
+ armed = FALSE
+ icon_state = inactive_state
+ addtimer(CALLBACK(src, PROC_REF(now_armed)), arm_delay)
+ var/static/list/loc_connections = list(
+ COMSIG_ATOM_ENTERED = PROC_REF(on_entered),
+ )
+ AddElement(/datum/element/connect_loc, loc_connections)
+
+/obj/effect/mine/ms13/explosive/examine(mob/user)
+ . = ..()
+ if(!armed)
+ . += "\tIt appears to be inactive..."
+
+/// The effect of the mine
+/obj/effect/mine/ms13/explosive/mineEffect(mob/victim)
+ explosion(src, range_devastation, range_heavy, range_light, range_flame, range_flash)
+
+/// If the landmine was previously inactive, this beeps and displays a message marking it active
+/obj/effect/mine/ms13/explosive/now_armed()
+ armed = TRUE
+ icon_state = initial(icon_state)
+ playsound(src, 'mojave/sound/ms13machines/frag_mine_arm.ogg', 40, FALSE, -2)
+ visible_message(span_danger("\The [src] beeps softly, indicating it is now active."), vision_distance = COMBAT_MESSAGE_RANGE)
+
+/obj/effect/mine/ms13/explosive/on_entered(datum/source, atom/movable/AM)
+ . = ..()
+
+/obj/effect/mine/ms13/explosive/take_damage(damage_amount, damage_type, damage_flag, sound_effect, attack_dir)
+ . = ..()
+ triggermine()
+
+/// When something sets off a mine
+/obj/effect/mine/ms13/explosive/triggermine(atom/movable/triggerer)
+ if(iseffect(triggerer))
+ return
+ if(triggered) //too busy detonating to detonate again
+ return
+ if(triggerer)
+ visible_message(span_danger("[triggerer] sets off [icon2html(src, viewers(src))] [src]!"))
+ else
+ visible_message(span_danger("[icon2html(src, viewers(src))] [src] detonates!"))
+
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
+ s.set_up(3, 1, src)
+ s.start()
+ if(ismob(triggerer))
+ mineEffect(triggerer)
+ triggered = TRUE
+ SEND_SIGNAL(src, COMSIG_MINE_TRIGGERED, triggerer)
+ new /obj/effect/turf_decal/ms13/boommark (src, 1)
+ qdel(src)
+
+/obj/effect/spawner/random/ms13/minefield
+ name = "Explosive mines"
+ spawn_loot_chance = 50
+ spawn_scatter_radius = 4
+ spawn_loot_count = 1 // fucking broken seemingly
+ spawn_all_loot = TRUE
+ loot = list(
+ /obj/effect/mine/ms13/explosive = 60
+ )
+
+/obj/effect/spawner/random/ms13/guaranteed/minefield
+ name = "Explosive mines"
+ spawn_scatter_radius = 4
+ spawn_all_loot = TRUE
+ loot = list(
+ /obj/effect/mine/ms13/explosive
+ )
diff --git a/mojave/effects/ms13_decals.dm b/mojave/effects/ms13_decals.dm
index 517747c6073..374f1aa4d6b 100644
--- a/mojave/effects/ms13_decals.dm
+++ b/mojave/effects/ms13_decals.dm
@@ -71,6 +71,17 @@
/obj/effect/turf_decal/ms13/sheltersigns/shelteryellow_circle
icon_state = "shelteryellow_circle"
+//Explosive Marks
+
+/obj/effect/turf_decal/ms13/boommark
+ icon = 'mojave/icons/decals/ground_decals.dmi'
+ icon_state = "boom"
+
+/obj/effect/turf_decal/ms13/boommark/Initialize(mapload)
+ . = ..()
+ if(prob(90))
+ icon_state = "[initial(icon_state)]-[rand(1,8)]"
+
// Graffiti
/obj/effect/turf_decal/ms13/graffiti
@@ -244,6 +255,21 @@
/obj/effect/turf_decal/ms13/graffiti/mark
icon_state = "mark"
+/obj/effect/turf_decal/ms13/graffiti/skullbones
+ icon_state = "skullbones"
+
+/obj/effect/turf_decal/ms13/graffiti/boomboom
+ icon_state = "boombooms"
+
+/obj/effect/turf_decal/ms13/graffiti/truedeath
+ icon_state = "death2"
+
+/obj/effect/turf_decal/ms13/graffiti/deadman
+ icon_state = "deadman"
+
+/obj/effect/turf_decal/ms13/graffiti/mines
+ icon_state = "mines"
+
/obj/effect/turf_decal/ms13/graffiti/slumbers
icon_state = "slumbers"
diff --git a/mojave/icons/decals/graffiti.dmi b/mojave/icons/decals/graffiti.dmi
index ecab1bde483..c666af191d6 100644
Binary files a/mojave/icons/decals/graffiti.dmi and b/mojave/icons/decals/graffiti.dmi differ
diff --git a/mojave/icons/decals/ground_decals.dmi b/mojave/icons/decals/ground_decals.dmi
new file mode 100644
index 00000000000..2e512021488
Binary files /dev/null and b/mojave/icons/decals/ground_decals.dmi differ
diff --git a/mojave/icons/structure/miscellaneous.dmi b/mojave/icons/structure/miscellaneous.dmi
index e9f1248eb33..9778bb41b40 100644
Binary files a/mojave/icons/structure/miscellaneous.dmi and b/mojave/icons/structure/miscellaneous.dmi differ
diff --git a/mojave/icons/structure/wall_decor.dmi b/mojave/icons/structure/wall_decor.dmi
index f2f55585545..84dc089a259 100644
Binary files a/mojave/icons/structure/wall_decor.dmi and b/mojave/icons/structure/wall_decor.dmi differ
diff --git a/mojave/structures/signs.dm b/mojave/structures/signs.dm
index e86e23f9596..f14c1ab4528 100644
--- a/mojave/structures/signs.dm
+++ b/mojave/structures/signs.dm
@@ -190,3 +190,16 @@
cut_overlays()
set_light(0,0,"#000000")
QDEL_NULL(soundloop)
+
+// Wilderness //
+
+/obj/structure/ms13/sign/mine
+ name = "mine sign"
+ desc = "Mines? Like with ore and valuables?"
+ icon = 'mojave/icons/structure/miscellaneous.dmi'
+ icon_state = "mine_sign"
+ anchored = TRUE
+ density = TRUE
+ layer = ABOVE_MOB_LAYER
+ max_integrity = 250 // Hardy but not immortal
+ pixel_y = 15
diff --git a/mojave/structures/wall_decorations.dm b/mojave/structures/wall_decorations.dm
index b838bb52173..4b3c1ad38b5 100644
--- a/mojave/structures/wall_decorations.dm
+++ b/mojave/structures/wall_decorations.dm
@@ -190,6 +190,11 @@
desc = "DANGER. The text is apparent. But surely it's not relevant to you right now."
icon_state = "danger_sign"
+/obj/structure/ms13/wall_decor/sign/mine
+ name = "mine sign"
+ desc = "Minefield ahead! Any proof?"
+ icon_state = "mine_warn"
+
/obj/structure/ms13/wall_decor/sign/notice_robot
name = "notice sign"
desc = "A sign indicating the presence of robots in the vicinity."
diff --git a/tgstation.dme b/tgstation.dme
index 33828597866..68f40a4e547 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -4426,7 +4426,6 @@
#include "mojave\code\game\objects\item_wield.dm"
#include "mojave\code\game\objects\effects\displacement_maps.dm"
#include "mojave\code\game\objects\effects\displacement\fat.dm"
-#include "mojave\code\game\objects\traps\mine.dm"
#include "mojave\code\game\objects\traps\ms13_traps.dm"
#include "mojave\code\modules\ai\effect_node.dm"
#include "mojave\code\modules\asset_cache\assets\mouse.dm"