diff --git a/code/datums/components/unobserved_actor.dm b/code/datums/components/unobserved_actor.dm
index 0b3087232cd5..176ef3c54e6a 100644
--- a/code/datums/components/unobserved_actor.dm
+++ b/code/datums/components/unobserved_actor.dm
@@ -108,11 +108,11 @@
view_size = world.view
// We aren't in darkness, loop for viewers.
- for(var/mob/living/mob_target as anything in oviewers(my_turf, view_size)) // They probably cannot see us if we cannot see them... can they?
+ for(var/mob/living/mob_target in oviewers(my_turf, view_size)) // They probably cannot see us if we cannot see them... can they?
if(mob_target.client && !mob_target.is_blind() && !mob_target.silicon_privileges && !HAS_TRAIT(mob_target, TRAIT_UNOBSERVANT))
return TRUE
for(var/obj/vehicle/vehicle_target in oview(my_turf, view_size))
- for(var/mob/vehicle_mob_target as anything in vehicle_target.occupants)
+ for(var/mob/vehicle_mob_target in vehicle_target.occupants)
if(vehicle_mob_target.client && !vehicle_mob_target.is_blind() && !HAS_TRAIT(vehicle_mob_target, TRAIT_UNOBSERVANT))
return TRUE
diff --git a/code/game/objects/effects/traps.dm b/code/game/objects/effects/traps.dm
index f186c216c259..3a24e91867be 100644
--- a/code/game/objects/effects/traps.dm
+++ b/code/game/objects/effects/traps.dm
@@ -325,6 +325,9 @@ Add those other swinging traps you mentioned above!
var/burst_delay = 2
var/initial_fire_delay = 5
+ var/ammo_count = 0
+ var/ammo_store = 0 //How many shots the trap has stored before it runs out. This seems to work out to the value + 1.
+
//This needs to check dirs, projectiles, accuracy, reload/recharge. It's kinda gonna suck. Consult Turret code.
/obj/effect/trap/launcher/Initialize(mapload)
@@ -342,6 +345,9 @@ Add those other swinging traps you mentioned above!
return
if(broken)
return
+ if(ammo_count)
+ if(src.shot_number > src.ammo_store)
+ return
if(((src.last_shot + src.fire_delay) <= world.time) && (!broken) && (src.tripped))
src.last_shot = world.time
@@ -377,7 +383,6 @@ Add those other swinging traps you mentioned above!
M.use(5)
Break()
to_chat(user, "You slip the rods into the firing mechanism, jamming it.")
- qdel(src)
else
to_chat(user, "You need five rods to jam the mechanism.")
@@ -416,6 +421,10 @@ Add those other swinging traps you mentioned above!
projectile_type = /obj/projectile/magic/aoe/fireball
projectile_sound = 'sound/weapons/cannon.ogg'
+/obj/effect/trap/launcher/fireball_aoe/finite //Finite variant
+ ammo_count = 1
+ ammo_store = 1
+
//Web Launcher
/obj/effect/trap/launcher/web
projectile_type = /obj/projectile/webball
diff --git a/code/modules/clothing/shoes/boots.dm b/code/modules/clothing/shoes/boots.dm
index 93b8aa55fc1b..2f27aa9182e7 100644
--- a/code/modules/clothing/shoes/boots.dm
+++ b/code/modules/clothing/shoes/boots.dm
@@ -203,7 +203,6 @@
/obj/item/clothing/shoes/boots/swat/para
name = "PARA boots"
desc = "PMD issued gloves, stamped with protective seals and spells."
- icon_state = "para_ert_boots"
action_button_name = "Enable Boot Sigils"
var/blessed = FALSE
diff --git a/code/modules/mob/living/simple_mob/subtypes/occult/living_statue.dm b/code/modules/mob/living/simple_mob/subtypes/occult/living_statue.dm
index 17b2f61764eb..87e350ba2fb0 100644
--- a/code/modules/mob/living/simple_mob/subtypes/occult/living_statue.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/occult/living_statue.dm
@@ -53,8 +53,6 @@
icon_state = "human_female"
gender = NEUTER
-
-
//# Mob AI Code.
/datum/ai_holder/simple_mob/statue
@@ -66,8 +64,6 @@
speak_chance = 0
wander = FALSE
-
-
//# Mob Code.
/mob/living/simple_mob/living_statue/Initialize(mapload)
diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi
index 2f7aaa950e62..3ab87182172c 100644
Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ
diff --git a/icons/mob/clothing/feet.dmi b/icons/mob/clothing/feet.dmi
index 3efd4bdc89e8..4d209f3ceed2 100644
Binary files a/icons/mob/clothing/feet.dmi and b/icons/mob/clothing/feet.dmi differ
diff --git a/icons/mob/clothing/hands.dmi b/icons/mob/clothing/hands.dmi
index 2b00c3cd7455..1b1bfb3924f2 100644
Binary files a/icons/mob/clothing/hands.dmi and b/icons/mob/clothing/hands.dmi differ
diff --git a/icons/mob/clothing/suits.dmi b/icons/mob/clothing/suits.dmi
index 674ac69a077d..7ed3e13ba321 100644
Binary files a/icons/mob/clothing/suits.dmi and b/icons/mob/clothing/suits.dmi differ
diff --git a/icons/obj/clothing/backpack.dmi b/icons/obj/clothing/backpack.dmi
index af0f889149d0..abcc1912595b 100644
Binary files a/icons/obj/clothing/backpack.dmi and b/icons/obj/clothing/backpack.dmi differ
diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi
index 0beceb59b24b..81f0bbe51d5b 100644
Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ
diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi
index 601420c3df3e..a12c8ce953ed 100644
Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ
diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi
index d78376eaa49f..0d35d6724a3a 100644
Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ
diff --git a/icons/obj/statue.dmi b/icons/obj/statue.dmi
index 5c40ef513388..f0feaaae9c9d 100644
Binary files a/icons/obj/statue.dmi and b/icons/obj/statue.dmi differ
diff --git a/maps/submaps/level_specific/class_p/archaictemple.dmm b/maps/submaps/level_specific/class_p/archaictemple.dmm
index b99ae9a30311..0513acc49480 100644
--- a/maps/submaps/level_specific/class_p/archaictemple.dmm
+++ b/maps/submaps/level_specific/class_p/archaictemple.dmm
@@ -72,12 +72,7 @@
/turf/simulated/floor/outdoors/mud/classp/indoors,
/area/class_p/POIs/archaic_temple)
"fS" = (
-/obj/structure/window/reinforced/polarized/full{
- color = "#222222";
- name = "reflective window";
- opacity = 1
- },
-/obj/structure/grille/cult,
+/obj/structure/prop/prism/incremental,
/turf/simulated/floor/classp,
/area/class_p/POIs/archaic_temple)
"gr" = (
@@ -92,24 +87,29 @@
/obj/structure/boulder,
/turf/simulated/floor/outdoors/grass/heavy/interior/classp,
/area/class_p/POIs/archaic_temple)
+"gV" = (
+/obj/effect/trap/pit/deep{
+ id = "tunnel_easthigh"
+ },
+/turf/simulated/floor/classp,
+/area/class_p/POIs/archaic_temple)
"hQ" = (
/obj/structure/table/hardwoodtable,
/obj/item/flame/candle/everburn/black,
/turf/simulated/floor/wood/classp,
/area/class_p/POIs/archaic_temple)
-"if" = (
-/obj/structure/prop/lock/projectile{
- lockID = "anak"
- },
-/obj/effect/floor_decal/rust,
-/turf/simulated/floor/classp,
-/area/class_p/POIs/archaic_temple)
"ik" = (
/obj/structure/statue/marble/male{
name = "eroded male statue"
},
/turf/simulated/floor/silver/classp,
/area/class_p/POIs/archaic_temple)
+"is" = (
+/obj/effect/trap/pit/deep{
+ id = "tunnel_westhigh"
+ },
+/turf/simulated/floor/classp,
+/area/class_p/POIs/archaic_temple)
"iV" = (
/obj/structure/bookcase,
/obj/item/book,
@@ -170,22 +170,9 @@
/obj/machinery/artifact,
/turf/simulated/floor/wood/classp,
/area/class_p/POIs/archaic_temple)
-"lc" = (
-/obj/structure/grille/cult,
-/obj/structure/window/reinforced/polarized/full{
- color = "#222222";
- name = "reflective window";
- opacity = 1
- },
-/turf/simulated/floor/trap/delayed/plating/classp{
- id = "tunnel_south"
- },
-/area/class_p/POIs/archaic_temple)
"lf" = (
-/obj/effect/trap/pit/deep{
- id = "tunnel_north"
- },
/obj/effect/ceiling,
+/obj/effect/debris/cleanable/dirt,
/turf/simulated/floor/classp,
/area/class_p/POIs/archaic_temple)
"lh" = (
@@ -256,7 +243,7 @@
opacity = 1
},
/turf/simulated/floor/trap/delayed/plating/classp{
- id = "tunnel_west"
+ id = "tunnel_westlow"
},
/area/class_p/POIs/archaic_temple)
"nD" = (
@@ -269,6 +256,10 @@
},
/turf/simulated/floor/classp,
/area/class_p/POIs/archaic_temple)
+"nK" = (
+/obj/effect/debris/cleanable/dirt,
+/turf/simulated/floor/classp,
+/area/class_p/POIs/archaic_temple)
"nX" = (
/obj/structure/table/bench/wooden,
/turf/simulated/floor/wood/classp,
@@ -377,15 +368,15 @@
/turf/simulated/floor/silver/classp,
/area/class_p/POIs/archaic_temple)
"sH" = (
-/obj/effect/trap/launcher/fireball_aoe{
- dir = 1;
- id = "vault";
- pixel_y = -32
- },
/obj/structure/table/marble,
/obj/item/gun/energy/staff/focus{
name = "Staff of the Forgotten"
},
+/obj/effect/trap/launcher/fireball_aoe/finite{
+ dir = 1;
+ id = "vault";
+ pixel_y = -32
+ },
/turf/simulated/floor/silver/classp,
/area/class_p/POIs/archaic_temple)
"sW" = (
@@ -399,6 +390,8 @@
"tc" = (
/obj/machinery/door/blast/puzzle{
color = "#CBA713";
+ desc = "A large, virtually indestructible door locked shut by some arcane mechanism. Perhaps if that were removed, it could be opened...";
+ icon = 'icons/obj/doors/material_doors.dmi';
icon_state = "metal";
icon_state_closed = "metal";
icon_state_closing = "metalclosing";
@@ -488,6 +481,17 @@
/obj/effect/ceiling,
/turf/simulated/floor/classp,
/area/class_p/POIs/archaic_temple)
+"xV" = (
+/obj/structure/window/reinforced/polarized/full{
+ color = "#222222";
+ name = "reflective window";
+ opacity = 1
+ },
+/obj/structure/grille/cult,
+/turf/simulated/floor/trap/delayed/plating/classp{
+ id = "tunnel_easthigh"
+ },
+/area/class_p/POIs/archaic_temple)
"yg" = (
/obj/structure/bookcase,
/turf/simulated/floor/wood/classp,
@@ -620,6 +624,8 @@
"Dy" = (
/obj/machinery/door/blast/puzzle{
color = "#1F1A04";
+ desc = "A large, virtually indestructible door locked shut by some arcane mechanism. Perhaps if that were removed, it could be opened...";
+ icon = 'icons/obj/doors/material_doors.dmi';
icon_state = "metal";
icon_state_closed = "metal";
icon_state_closing = "metalclosing";
@@ -667,6 +673,17 @@
"Fg" = (
/turf/simulated/floor/phoron/classp,
/area/class_p/POIs/archaic_temple)
+"Fh" = (
+/obj/structure/window/reinforced/polarized/full{
+ color = "#222222";
+ name = "reflective window";
+ opacity = 1
+ },
+/obj/structure/grille/cult,
+/turf/simulated/floor/trap/delayed/plating/classp{
+ id = "tunnel_westhigh"
+ },
+/area/class_p/POIs/archaic_temple)
"Fp" = (
/obj/structure/bed/chair/wood/wings{
dir = 8
@@ -694,7 +711,7 @@
/area/class_p/POIs/archaic_temple)
"FF" = (
/obj/effect/trap/pit/deep{
- id = "tunnel_east"
+ id = "tunnel_eastlow"
},
/obj/effect/ceiling,
/turf/simulated/floor/classp,
@@ -715,8 +732,8 @@
/turf/simulated/floor/wood/classp,
/area/class_p/POIs/archaic_temple)
"GY" = (
-/mob/living/simple_mob/living_statue{
- name = "eroded male statue"
+/obj/structure/prop/lock/projectile{
+ lockID = "anak"
},
/turf/simulated/floor/classp,
/area/class_p/POIs/archaic_temple)
@@ -783,6 +800,14 @@
id = "entry_corridor"
},
/area/class_p/POIs/archaic_temple)
+"Jg" = (
+/obj/effect/trap/launcher/fireball_aoe/finite{
+ dir = 1;
+ id = "headmaster_office";
+ pixel_y = -32
+ },
+/turf/simulated/floor/wood/classp,
+/area/class_p/POIs/archaic_temple)
"Jv" = (
/turf/simulated/floor/trap/gold/classp{
id = "vault"
@@ -902,6 +927,8 @@
"Nk" = (
/obj/machinery/door/blast/puzzle{
color = "#4D4D4D";
+ desc = "A large, virtually indestructible door locked shut by some arcane mechanism. Perhaps if that were removed, it could be opened...";
+ icon = 'icons/obj/doors/material_doors.dmi';
icon_state = "metal";
icon_state_closed = "metal";
icon_state_closing = "metalclosing";
@@ -1009,7 +1036,7 @@
/area/class_p/POIs/archaic_temple)
"PU" = (
/obj/effect/trap/pit/deep{
- id = "tunnel_west"
+ id = "tunnel_westlow"
},
/obj/effect/ceiling,
/turf/simulated/floor/classp,
@@ -1070,7 +1097,7 @@
opacity = 1
},
/turf/simulated/floor/trap/delayed/plating/classp{
- id = "tunnel_east"
+ id = "tunnel_eastlow"
},
/area/class_p/POIs/archaic_temple)
"Uh" = (
@@ -1193,11 +1220,6 @@
/turf/simulated/wall/dungeon,
/area/class_p/POIs/archaic_temple)
"YP" = (
-/obj/effect/trap/launcher/fireball_aoe{
- dir = 1;
- id = "vault";
- pixel_y = -32
- },
/obj/structure/table/marble,
/obj/item/clothing/suit/space/void/wizard{
name = "Mantle of the Forgotten"
@@ -1205,29 +1227,22 @@
/obj/item/clothing/head/helmet/space/void/wizard{
name = "Helm of the Forgotten"
},
+/obj/effect/trap/launcher/fireball_aoe/finite{
+ dir = 1;
+ id = "vault";
+ pixel_y = -32
+ },
/turf/simulated/floor/silver/classp,
/area/class_p/POIs/archaic_temple)
"YS" = (
-/obj/structure/window/reinforced/polarized/full{
- color = "#222222";
- name = "reflective window";
- opacity = 1
- },
-/obj/structure/grille/cult,
-/turf/simulated/floor/trap/delayed/plating/classp{
- id = "tunnel_north"
+/obj/structure/prop/prism/incremental{
+ degrees_from_north = 45
},
+/turf/simulated/floor/classp,
/area/class_p/POIs/archaic_temple)
"Zc" = (
/turf/simulated/floor/crystal/classp,
/area/class_p/POIs/archaic_temple)
-"Zs" = (
-/obj/effect/trap/launcher/fireball_aoe{
- dir = 1;
- id = "headmaster_office"
- },
-/turf/simulated/wall/ironphoron/classp,
-/area/class_p/POIs/archaic_temple)
"Zu" = (
/obj/effect/trap/pop_up/flame{
id = "entry_corridor"
@@ -1235,10 +1250,10 @@
/turf/simulated/floor/phoron/classp,
/area/class_p/POIs/archaic_temple)
"Zw" = (
-/obj/effect/trap/pit/deep{
- id = "tunnel_south"
- },
/obj/effect/ceiling,
+/mob/living/simple_mob/living_statue{
+ name = "eroded male statue"
+ },
/turf/simulated/floor/classp,
/area/class_p/POIs/archaic_temple)
"Zx" = (
@@ -2417,7 +2432,7 @@ TM
qo
se
se
-qo
+se
qo
zY
zY
@@ -2475,7 +2490,7 @@ qo
LP
lf
YS
-zY
+qo
zY
Zc
Zc
@@ -2484,9 +2499,9 @@ Dl
Zc
zY
zY
-lc
+qo
Zw
-if
+UJ
PU
qo
ZV
@@ -2530,9 +2545,9 @@ TM
TM
qo
se
-se
+nK
+is
qo
-GF
Dl
Zc
Zc
@@ -2588,8 +2603,8 @@ Ar
Mq
Ar
qo
+Fh
qo
-GF
Zc
zY
od
@@ -2873,8 +2888,8 @@ Mq
Au
Mq
qo
+xV
qo
-zY
Zc
zY
od
@@ -2930,8 +2945,8 @@ TM
qo
UJ
UJ
+gV
qo
-zY
Zc
Zc
Dl
@@ -2988,7 +3003,7 @@ qo
GY
UJ
fS
-zY
+qo
zY
Zc
Zc
@@ -3044,7 +3059,7 @@ TM
qo
se
se
-qo
+se
qo
zY
zY
@@ -3359,8 +3374,8 @@ Zc
La
ot
ot
-ot
-Zs
+Jg
+qo
TM
TM
rU