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