diff --git a/code/game/turfs/simulated/wall_icon.dm b/code/game/turfs/simulated/wall_icon.dm index f277ea79f56..5bf41c4a5f2 100644 --- a/code/game/turfs/simulated/wall_icon.dm +++ b/code/game/turfs/simulated/wall_icon.dm @@ -116,6 +116,15 @@ wall_connections = dirs_to_corner_states(dirs) /turf/simulated/wall/proc/can_join_with(var/turf/simulated/wall/W) - if(material && W.material && material.icon_base == W.material.icon_base) + //VOREStation Edit Start + //No blending if no material + if(!material || !W.material) + return 0 + //We can blend if either is the same, or a subtype, of the other one + if(istype(W.material, material.type) || istype(material, W.material.type)) return 1 + //Also blend if they have the same iconbase + if(material.icon_base == W.material.icon_base) + return 1 + //VOREStation Edit End return 0 diff --git a/maps/tether/submaps/offmap/talon.dm b/maps/tether/submaps/offmap/talon.dm index f4f5c07f820..e3dae509203 100644 --- a/maps/tether/submaps/offmap/talon.dm +++ b/maps/tether/submaps/offmap/talon.dm @@ -194,6 +194,165 @@ Once in open space, consider disabling nonessential power-consuming electronics /obj/machinery/camera/network/talon network = list(NETWORK_TALON_SHIP) + +/obj/item/clothing/head/helmet/space/void/captain/talon + name = "talon captain's voidsuit helmet" + camera_networks = list(NETWORK_TALON_HELMETS) +/obj/item/clothing/suit/space/void/captain/talon + name = "talon captain's voidsuit" + +/obj/item/clothing/head/helmet/space/void/security/talon + name = "talon guard's voidsuit helmet" + camera_networks = list(NETWORK_TALON_HELMETS) +/obj/item/clothing/suit/space/void/security/talon + name = "talon guard's voidsuit" + +/obj/item/clothing/head/helmet/space/void/medical/talon + name = "talon doctor's voidsuit helmet" + camera_networks = list(NETWORK_TALON_HELMETS) +/obj/item/clothing/suit/space/void/medical/talon + name = "talon doctor's voidsuit" + +/obj/item/clothing/head/helmet/space/void/atmos/talon + name = "talon engineer's voidsuit helmet" + camera_networks = list(NETWORK_TALON_HELMETS) +/obj/item/clothing/suit/space/void/atmos/talon + name = "talon engineer's voidsuit" + +/obj/item/clothing/head/helmet/space/void/pilot/talon + name = "talon pilot's voidsuit helmet" + camera_networks = list(NETWORK_TALON_HELMETS) +/obj/item/clothing/suit/space/void/pilot/talon + name = "talon pilot's voidsuit" + +/obj/structure/closet/secure_closet/talon_captain + name = "talon captain's locker" + icon_state = "capsecure1" + icon_closed = "capsecure" + icon_locked = "capsecure1" + icon_opened = "capsecureopen" + icon_broken = "capsecurebroken" + icon_off = "capsecureoff" + req_access = list(access_talon) + + starts_with = list( + /obj/item/weapon/storage/backpack/dufflebag/captain, + /obj/item/clothing/suit/storage/vest, + /obj/item/weapon/melee/telebaton, + /obj/item/device/flash, + /obj/item/device/radio/headset/talon, + /obj/item/clothing/head/helmet/space/void/captain/talon, + /obj/item/clothing/suit/space/void/captain/talon, + /obj/item/weapon/tank/oxygen, + /obj/item/device/suit_cooling_unit + ) + +/obj/structure/closet/secure_closet/talon_guard + name = "talon guard's locker" + req_access = list(access_hos) + icon_state = "hossecure1" + icon_closed = "hossecure" + icon_locked = "hossecure1" + icon_opened = "hossecureopen" + icon_broken = "hossecurebroken" + icon_off = "hossecureoff" + req_access = list(access_talon) + + starts_with = list( + /obj/item/clothing/suit/armor/pcarrier/light, + /obj/item/clothing/under/utility, + /obj/item/clothing/shoes/boots/jackboots, + /obj/item/clothing/shoes/boots/jackboots/toeless, + /obj/item/weapon/handcuffs = 2, + /obj/item/weapon/gun/energy/stunrevolver, + /obj/item/clothing/accessory/armor/tag/sec, + /obj/item/device/flash, + /obj/item/device/flashlight/maglight, + /obj/item/clothing/glasses/sunglasses, + /obj/item/weapon/storage/belt/security, + /obj/item/device/radio/headset/talon, + /obj/item/clothing/accessory/solgov/department/security/marine, + /obj/item/clothing/head/helmet/space/void/security/talon, + /obj/item/clothing/suit/space/void/security/talon, + /obj/item/weapon/tank/oxygen, + /obj/item/device/suit_cooling_unit + ) + +/obj/structure/closet/secure_closet/talon_doctor + name = "talon doctor's locker" + icon_state = "cmosecure1" + icon_closed = "cmosecure" + icon_locked = "cmosecure1" + icon_opened = "cmosecureopen" + icon_broken = "cmosecurebroken" + icon_off = "cmosecureoff" + req_access = list(access_talon) + + starts_with = list( + /obj/item/clothing/under/rank/medical, + /obj/item/clothing/under/rank/nurse, + /obj/item/clothing/under/rank/orderly, + /obj/item/clothing/suit/storage/toggle/labcoat, + /obj/item/clothing/suit/storage/toggle/fr_jacket, + /obj/item/clothing/shoes/white, + /obj/item/device/radio/headset/talon, + /obj/item/clothing/head/helmet/space/void/medical/talon, + /obj/item/clothing/suit/space/void/medical/talon, + /obj/item/weapon/tank/oxygen, + /obj/item/device/suit_cooling_unit + ) + +/obj/structure/closet/secure_closet/talon_engineer + name = "talon engineer's locker" + icon_state = "securece1" + icon_closed = "securece" + icon_locked = "securece1" + icon_opened = "secureceopen" + icon_broken = "securecebroken" + icon_off = "secureceoff" + req_access = list(access_talon) + + starts_with = list( + /obj/item/clothing/accessory/storage/brown_vest, + /obj/item/device/flashlight, + /obj/item/weapon/extinguisher, + /obj/item/clamp, + /obj/item/device/radio/headset/talon, + /obj/item/clothing/suit/storage/hazardvest, + /obj/item/clothing/mask/gas, + /obj/item/taperoll/atmos, + /obj/item/weapon/tank/emergency/oxygen/engi, + /obj/item/clothing/head/helmet/space/void/atmos/talon, + /obj/item/clothing/suit/space/void/atmos/talon, + /obj/item/weapon/tank/oxygen, + /obj/item/device/suit_cooling_unit + ) + +/obj/structure/closet/secure_closet/talon_pilot + name = "talon pilot's locker" + req_access = list(access_talon) + + starts_with = list( + /obj/item/weapon/material/knife/tacknife/survival, + /obj/item/clothing/head/pilot, + /obj/item/clothing/under/rank/pilot1, + /obj/item/clothing/suit/storage/toggle/bomber/pilot, + /obj/item/clothing/gloves/fingerless, + /obj/item/weapon/reagent_containers/food/snacks/liquidfood, + /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, + /obj/item/device/radio, + /obj/item/clothing/under/utility/blue, + /obj/item/clothing/accessory/solgov/specialty/pilot, + /obj/item/clothing/shoes/boots/jackboots, + /obj/item/clothing/shoes/boots/jackboots/toeless, + /obj/item/device/radio/headset/talon, + /obj/item/device/flashlight/color/orange, + /obj/item/clothing/head/helmet/space/void/pilot/talon, + /obj/item/clothing/suit/space/void/pilot/talon, + /obj/item/weapon/tank/oxygen, + /obj/item/device/suit_cooling_unit + ) + /////////////////////////// //// Computers // Talon helmet cameras @@ -303,4 +462,4 @@ Once in open space, consider disabling nonessential power-consuming electronics hard_drive.store_file(new/datum/computer_file/program/atmos_control/talon()) hard_drive.store_file(new/datum/computer_file/program/camera_monitor/talon_ship()) hard_drive.store_file(new/datum/computer_file/program/suit_sensors/talon()) - hard_drive.store_file(new/datum/computer_file/program/camera_monitor/talon_helmet()) \ No newline at end of file + hard_drive.store_file(new/datum/computer_file/program/camera_monitor/talon_helmet()) diff --git a/maps/tether/submaps/offmap/talon1.dmm b/maps/tether/submaps/offmap/talon1.dmm index 384d135b0b8..78b06b34eb5 100644 --- a/maps/tether/submaps/offmap/talon1.dmm +++ b/maps/tether/submaps/offmap/talon1.dmm @@ -428,6 +428,10 @@ icon_state = "light1"; pixel_x = -24 }, +/obj/machinery/recharger/wallcharger{ + pixel_x = 5; + pixel_y = 24 + }, /turf/simulated/floor/tiled/dark, /area/talon/deckone/armory) "ba" = ( @@ -1151,9 +1155,6 @@ }, /turf/simulated/floor/plating, /area/talon/deckone/starboard_solar) -"cq" = ( -/turf/simulated/wall/shull, -/area/talon/deckone/port_solar) "cr" = ( /obj/structure/cable/yellow{ icon_state = "16-0" @@ -1960,6 +1961,10 @@ /obj/effect/floor_decal/borderfloor/corner2{ dir = 1 }, +/obj/machinery/recharger/wallcharger{ + pixel_x = 5; + pixel_y = 24 + }, /turf/simulated/floor/tiled/steel, /area/talon/deckone/brig) "dY" = ( @@ -2037,8 +2042,6 @@ /turf/simulated/floor/tiled/steel, /area/talon/deckone/central_hallway) "ee" = ( -/obj/structure/table/standard, -/obj/machinery/recharger, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -2053,6 +2056,9 @@ icon_state = "light1"; pixel_x = -24 }, +/obj/structure/sink{ + pixel_y = 22 + }, /turf/simulated/floor/tiled/white, /area/talon/deckone/medical) "ef" = ( @@ -2621,7 +2627,9 @@ /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, -/obj/structure/table/standard, +/obj/structure/closet/crate/medical{ + name = "medicine cooler" + }, /turf/simulated/floor/tiled/white, /area/talon/deckone/medical) "fc" = ( @@ -2759,6 +2767,7 @@ pixel_x = 0; pixel_y = -25 }, +/obj/machinery/recharger, /turf/simulated/floor/tiled/white, /area/talon/deckone/medical) "fk" = ( @@ -2929,7 +2938,8 @@ /obj/machinery/airlock_sensor{ dir = 8; pixel_x = 28; - pixel_y = 28 + pixel_y = 28; + req_one_access = list(301) }, /obj/effect/map_helper/airlock/sensor/ext_sensor, /obj/structure/catwalk, @@ -2942,12 +2952,14 @@ /area/talon/maintenance/deckone_port) "fB" = ( /obj/machinery/airlock_sensor{ - pixel_y = 28 + pixel_y = 28; + req_one_access = list(301) }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ dir = 1; id_tag = "talon_port"; - pixel_y = -30 + pixel_y = -30; + req_one_access = list(301) }, /obj/effect/map_helper/airlock/atmos/chamber_pump, /obj/effect/map_helper/airlock/sensor/chamber_sensor, @@ -2974,7 +2986,8 @@ /obj/machinery/airlock_sensor{ dir = 4; pixel_x = -28; - pixel_y = 28 + pixel_y = 28; + req_one_access = list(301) }, /obj/effect/map_helper/airlock/sensor/int_sensor, /obj/structure/catwalk, @@ -3125,7 +3138,8 @@ /obj/machinery/airlock_sensor{ dir = 8; pixel_x = 28; - pixel_y = 28 + pixel_y = 28; + req_one_access = list(301) }, /obj/effect/map_helper/airlock/sensor/int_sensor, /obj/structure/catwalk, @@ -3142,12 +3156,14 @@ /area/talon/maintenance/deckone_starboard) "fU" = ( /obj/machinery/airlock_sensor{ - pixel_y = 28 + pixel_y = 28; + req_one_access = list(301) }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ dir = 1; id_tag = "talon_starboard"; - pixel_y = -30 + pixel_y = -30; + req_one_access = list(301) }, /obj/effect/map_helper/airlock/atmos/chamber_pump, /obj/effect/map_helper/airlock/sensor/chamber_sensor, @@ -3166,7 +3182,8 @@ /obj/machinery/airlock_sensor{ dir = 4; pixel_x = -28; - pixel_y = 28 + pixel_y = 28; + req_one_access = list(301) }, /obj/effect/map_helper/airlock/sensor/ext_sensor, /obj/structure/catwalk, @@ -3380,6 +3397,9 @@ /area/talon/deckone/brig) "gt" = ( /obj/effect/floor_decal/borderfloor, +/obj/machinery/suit_cycler/security{ + req_access = list(301) + }, /turf/simulated/floor/tiled/steel, /area/talon/deckone/brig) "gu" = ( @@ -3694,7 +3714,9 @@ /area/talon/deckone/port_eng_store) "ha" = ( /obj/machinery/vending/engineering{ - req_log_access = 301 + req_access = newlist(); + req_log_access = 301; + req_one_access = list(301) }, /turf/simulated/floor/tiled/techfloor, /area/talon/deckone/port_eng_store) @@ -4868,7 +4890,9 @@ /area/talon/deckone/starboard_eng) "iV" = ( /obj/machinery/door/firedoor/glass/talon, -/obj/machinery/door/airlock/maintenance/engi, +/obj/machinery/door/airlock/maintenance/engi{ + req_one_access = list(301) + }, /turf/simulated/floor/plating, /area/talon/deckone/port_eng) "iW" = ( @@ -4939,13 +4963,16 @@ /area/talon/deckone/starboard_eng) "jf" = ( /obj/machinery/door/firedoor/glass/talon, -/obj/machinery/door/airlock/maintenance/engi, +/obj/machinery/door/airlock/maintenance/engi{ + req_one_access = list(301) + }, /turf/simulated/floor/plating, /area/talon/deckone/starboard_eng) "jg" = ( /obj/machinery/airlock_sensor{ dir = 4; - pixel_x = -28 + pixel_x = -28; + req_one_access = list(301) }, /obj/machinery/atmospherics/unary/vent_pump/aux{ icon_state = "map_vent_aux"; @@ -5063,6 +5090,10 @@ /obj/machinery/light{ dir = 4 }, +/obj/machinery/suit_cycler/engineering{ + name = "Atmospherics suit cycler"; + req_access = list(301) + }, /turf/simulated/floor/tiled/techmaint, /area/talon/deckone/starboard_eng) "jz" = ( @@ -5347,7 +5378,7 @@ id = "very_fake"; name = "Shuttle Bay Doors" }, -/turf/simulated/wall/rshull, +/turf/simulated/floor/plating, /area/talon/deckone/central_hallway) "kj" = ( /obj/machinery/atmospherics/unary/engine{ @@ -5690,16 +5721,9 @@ /obj/effect/floor_decal/borderfloorwhite/corner2{ dir = 5 }, -/obj/structure/closet/crate/medical{ - name = "medicine cooler" - }, +/obj/machinery/chem_master, /turf/simulated/floor/tiled/white, /area/talon/deckone/medical) -"kW" = ( -/obj/structure/catwalk, -/obj/structure/loot_pile/maint, -/turf/simulated/floor/plating, -/area/talon/maintenance/deckone_starboard) "kX" = ( /obj/machinery/door/airlock/maintenance/sec{ req_one_access = list(301) @@ -5995,6 +6019,7 @@ /obj/structure/sign/warning/airlock{ pixel_x = 32 }, +/obj/machinery/portable_atmospherics/canister/oxygen, /turf/simulated/floor/plating, /area/talon/maintenance/deckone_starboard) "su" = ( @@ -6002,6 +6027,7 @@ /obj/structure/sign/warning/airlock{ pixel_x = -31 }, +/obj/machinery/portable_atmospherics/canister/oxygen, /turf/simulated/floor/plating, /area/talon/maintenance/deckone_port) "sK" = ( @@ -6349,7 +6375,7 @@ icon_state = "borderfloorcorner2"; pixel_x = 0 }, -/obj/machinery/suit_cycler, +/obj/machinery/portable_atmospherics/canister/oxygen, /turf/simulated/floor/tiled/steel, /area/talon/deckone/central_hallway) "Xi" = ( @@ -6405,6 +6431,12 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/talon/deckone/bridge_hallway) +"ZU" = ( +/obj/machinery/suit_cycler/medical{ + req_access = list(301) + }, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) (1,1,1) = {" aa @@ -14295,7 +14327,7 @@ aL fD su kZ -aM +aC aL aL aL @@ -14564,9 +14596,9 @@ aC aL aL cl -cq -cq -cq +cl +cl +cl cl bS dH @@ -17535,7 +17567,7 @@ aa aa aa aK -kW +jp bd aP aP @@ -17696,7 +17728,7 @@ aP dO ej ef -ef +ZU jV fm dO @@ -17999,8 +18031,8 @@ ij iF iF jf -iF -iF +jY +jY gT gT jY @@ -18271,7 +18303,7 @@ aP fS sk la -aO +aK aP aP aP diff --git a/maps/tether/submaps/offmap/talon2.dmm b/maps/tether/submaps/offmap/talon2.dmm index 5d5ea0087dc..6f0a0747335 100644 --- a/maps/tether/submaps/offmap/talon2.dmm +++ b/maps/tether/submaps/offmap/talon2.dmm @@ -224,7 +224,9 @@ "aJ" = ( /obj/machinery/vending/boozeomat{ density = 0; - pixel_y = 32 + pixel_y = 32; + req_access = list(301); + req_log_access = 301 }, /turf/simulated/floor/lino, /area/talon/decktwo/bar) @@ -236,18 +238,7 @@ icon_state = "bulb1"; dir = 1 }, -/obj/structure/closet/secure_closet/personal/cabinet{ - req_access = list(301) - }, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, -/obj/item/clothing/suit/space/void/captain{ - name = "\improper captain's armor" - }, -/obj/item/clothing/head/helmet/space/void/captain{ - camera_networks = list("TalonHelmets"); - name = "\improper captain's helmet" - }, +/obj/structure/closet/secure_closet/talon_captain, /turf/simulated/floor/wood, /area/talon/decktwo/cap_room) "aM" = ( @@ -908,15 +899,21 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, -/obj/machinery/media/jukebox, -/turf/simulated/floor/wood, +/obj/effect/floor_decal/spline/plain{ + dir = 9 + }, +/obj/machinery/vending/food{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_ridged, /area/talon/decktwo/bar) "bY" = ( /obj/machinery/vending/coffee{ dir = 1 }, /obj/effect/floor_decal/spline/plain{ - dir = 9 + icon_state = "spline_plain"; + dir = 1 }, /turf/simulated/floor/tiled/steel_ridged, /area/talon/decktwo/bar) @@ -2007,7 +2004,6 @@ /turf/simulated/floor/carpet, /area/talon/decktwo/pilot_room) "dH" = ( -/obj/structure/table/woodentable, /obj/machinery/computer/ship/navigation/telescreen{ pixel_y = 32 }, @@ -2299,6 +2295,9 @@ dir = 8; pixel_x = 0 }, +/obj/machinery/suit_cycler/pilot{ + req_access = list(301) + }, /turf/simulated/floor/wood, /area/talon/decktwo/pilot_room) "eh" = ( @@ -2623,15 +2622,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/structure/closet/secure_closet/engineering_personal{ - req_access = newlist() - }, -/obj/item/clothing/suit/space/void/atmos, -/obj/item/clothing/head/helmet/space/void/atmos{ - camera_networks = list("TalonHelmets") - }, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/structure/closet/secure_closet/talon_engineer, /turf/simulated/floor/wood, /area/talon/decktwo/eng_room) "eH" = ( @@ -2651,15 +2642,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/structure/closet/secure_closet/pilot{ - req_access = newlist() - }, -/obj/item/clothing/suit/space/void/pilot, -/obj/item/clothing/head/helmet/space/void/pilot{ - camera_networks = list("TalonHelmets") - }, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/structure/closet/secure_closet/talon_pilot, /turf/simulated/floor/wood, /area/talon/decktwo/pilot_room) "eJ" = ( @@ -3275,7 +3258,8 @@ frequency = 1380; id_tag = "talonlifeboat_docker"; pixel_x = -28; - pixel_y = -28 + pixel_y = -28; + req_one_access = list(301) }, /turf/simulated/floor/tiled/techfloor, /area/talon/decktwo/lifeboat) @@ -3395,30 +3379,14 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/structure/closet/secure_closet/medical3{ - req_access = newlist() - }, -/obj/item/clothing/suit/space/void/medical, -/obj/item/clothing/head/helmet/space/void/medical{ - camera_networks = list("TalonHelmets") - }, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/structure/closet/secure_closet/talon_doctor, /turf/simulated/floor/wood, /area/talon/decktwo/med_room) "gc" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/obj/structure/closet/secure_closet/security{ - req_access = newlist() - }, -/obj/item/clothing/suit/space/void/security, -/obj/item/clothing/head/helmet/space/void/security{ - camera_networks = list("TalonHelmets") - }, -/obj/item/weapon/tank/oxygen, -/obj/item/device/suit_cooling_unit, +/obj/structure/closet/secure_closet/talon_guard, /turf/simulated/floor/wood, /area/talon/decktwo/sec_room) "gd" = ( @@ -4318,7 +4286,8 @@ "id" = ( /obj/machinery/airlock_sensor{ dir = 4; - pixel_x = -28 + pixel_x = -28; + req_one_access = list(301) }, /obj/machinery/atmospherics/unary/vent_pump/aux{ icon_state = "map_vent_aux"; @@ -4327,7 +4296,8 @@ /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ dir = 8; id_tag = "talon_aft_solar"; - pixel_x = 28 + pixel_x = 28; + req_one_access = list(301) }, /obj/effect/map_helper/airlock/atmos/chamber_pump, /obj/effect/map_helper/airlock/sensor/chamber_sensor, @@ -4341,7 +4311,8 @@ "if" = ( /obj/machinery/airlock_sensor{ pixel_x = -28; - pixel_y = 28 + pixel_y = 28; + req_one_access = list(301) }, /obj/effect/map_helper/airlock/sensor/ext_sensor, /turf/simulated/floor/reinforced/airless, @@ -4399,7 +4370,8 @@ /obj/machinery/airlock_sensor{ dir = 1; pixel_x = -28; - pixel_y = -28 + pixel_y = -28; + req_one_access = list(301) }, /obj/effect/map_helper/airlock/sensor/int_sensor, /obj/machinery/atmospherics/pipe/simple/visible/aux{ @@ -4685,7 +4657,8 @@ frequency = 1380; id_tag = "talon_lifeboatbay"; pixel_x = 8; - pixel_y = 28 + pixel_y = 28; + req_one_access = list(301) }, /turf/simulated/floor/plating, /area/talon/maintenance/decktwo_aft) @@ -4776,6 +4749,15 @@ }, /turf/simulated/floor/tiled/steel, /area/talon/decktwo/central_hallway) +"Dk" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/media/jukebox, +/turf/simulated/floor/wood, +/area/talon/decktwo/bar) "FD" = ( /obj/structure/cable/green{ d1 = 1; @@ -15056,7 +15038,7 @@ aX aF bq bx -bH +Dk bH bV aw