Skip to content

Commit 29e1b9f

Browse files
authored
Merge branch 'master' into pr-95369
2 parents 4141f9f + e37b060 commit 29e1b9f

17 files changed

Lines changed: 252 additions & 58 deletions

File tree

_maps/map_files/Deltastation/DeltaStation2.dmm

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26085,20 +26085,16 @@
2608526085
/area/station/maintenance/disposal/incinerator)
2608626086
"gqZ" = (
2608726087
/obj/machinery/door/firedoor,
26088-
/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
26089-
cycle_id = "brig-entrance"
26090-
},
26091-
/obj/machinery/door/airlock/security/glass{
26092-
name = "Brig"
26093-
},
26094-
/obj/effect/mapping_helpers/airlock/access/all/security/entrance,
2609526088
/obj/effect/turf_decal/stripes/line{
2609626089
dir = 4
2609726090
},
2609826091
/obj/effect/turf_decal/stripes/line{
2609926092
dir = 8
2610026093
},
2610126094
/obj/effect/turf_decal/tile/neutral/fourcorners,
26095+
/obj/machinery/turnstile/brig{
26096+
dir = 4
26097+
},
2610226098
/turf/open/floor/iron/dark,
2610326099
/area/station/security/brig)
2610426100
"gri" = (
@@ -43344,24 +43340,20 @@
4334443340
/turf/open/floor/iron,
4334543341
/area/station/hallway/secondary/entry)
4334643342
"kEp" = (
43347-
/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
43348-
cycle_id = "brig-entrance"
43349-
},
43350-
/obj/machinery/door/airlock/security/glass{
43351-
name = "Brig"
43352-
},
43353-
/obj/effect/mapping_helpers/airlock/access/all/security/entrance,
4335443343
/obj/effect/turf_decal/stripes/line{
4335543344
dir = 8
4335643345
},
4335743346
/obj/effect/turf_decal/stripes/line{
4335843347
dir = 4
4335943348
},
4336043349
/obj/effect/turf_decal/tile/neutral/fourcorners,
43361-
/obj/machinery/scanner_gate/preset_guns,
4336243350
/obj/machinery/flasher/directional/south{
4336343351
id = "brigflashdoor"
4336443352
},
43353+
/obj/machinery/turnstile/brig{
43354+
dir = 4
43355+
},
43356+
/obj/machinery/door/firedoor,
4336543357
/turf/open/floor/iron/dark,
4336643358
/area/station/security/brig)
4336743359
"kEw" = (

_maps/map_files/KiloStation/KiloStation.dmm

Lines changed: 8 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -12791,8 +12791,6 @@
1279112791
/obj/structure/disposalpipe/segment{
1279212792
dir = 4
1279312793
},
12794-
/obj/effect/turf_decal/caution/stand_clear,
12795-
/obj/machinery/door/firedoor,
1279612794
/obj/structure/cable,
1279712795
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
1279812796
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -20493,8 +20491,6 @@
2049320491
name = "Front Security Blast Door"
2049420492
},
2049520493
/obj/structure/extinguisher_cabinet/directional/north,
20496-
/obj/effect/turf_decal/caution/stand_clear,
20497-
/obj/machinery/door/firedoor,
2049820494
/turf/open/floor/iron/dark,
2049920495
/area/station/security/brig)
2050020496
"gKd" = (
@@ -43030,8 +43026,9 @@
4303043026
id = "brigfrontdoor";
4303143027
name = "Front Security Blast Door"
4303243028
},
43033-
/obj/effect/turf_decal/caution/stand_clear,
43034-
/obj/machinery/door/firedoor,
43029+
/obj/effect/turf_decal/caution/stand_clear{
43030+
dir = 4
43031+
},
4303543032
/turf/open/floor/iron/dark,
4303643033
/area/station/security/brig)
4303743034
"odd" = (
@@ -55359,14 +55356,10 @@
5535955356
/turf/open/floor/circuit/green/telecomms/mainframe,
5536055357
/area/station/tcommsat/server)
5536155358
"shC" = (
55362-
/obj/machinery/door/airlock/security/glass{
55363-
id_tag = "innerbrig";
55364-
name = "Brig"
55365-
},
55366-
/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
55367-
cycle_id = "brig-entrance-right"
55359+
/obj/machinery/turnstile/brig{
55360+
dir = 8
5536855361
},
55369-
/obj/effect/mapping_helpers/airlock/access/all/security/entrance,
55362+
/obj/machinery/door/firedoor,
5537055363
/turf/open/floor/iron/dark,
5537155364
/area/station/security/brig)
5537255365
"shE" = (
@@ -67866,6 +67859,7 @@
6786667859
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
6786767860
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
6786867861
/obj/effect/mapping_helpers/airlock/access/all/security/entrance,
67862+
/obj/machinery/door/firedoor,
6786967863
/turf/open/floor/iron/dark,
6787067864
/area/station/security/brig)
6787167865
"was" = (
@@ -71754,17 +71748,6 @@
7175471748
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
7175571749
/turf/open/floor/grass,
7175671750
/area/station/medical/psychology)
71757-
"xmO" = (
71758-
/obj/machinery/door/airlock/security/glass{
71759-
id_tag = "outerbrig";
71760-
name = "Brig"
71761-
},
71762-
/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
71763-
cycle_id = "brig-entrance-right"
71764-
},
71765-
/obj/effect/mapping_helpers/airlock/access/all/security/entrance,
71766-
/turf/open/floor/iron/dark,
71767-
/area/station/security/brig)
7176871751
"xmQ" = (
7176971752
/obj/machinery/door/airlock/external{
7177071753
name = "External Airlock"
@@ -98129,7 +98112,7 @@ lYG
9812998112
lOY
9813098113
weR
9813198114
hAP
98132-
xmO
98115+
shC
9813398116
sFF
9813498117
war
9813598118
rhd

_maps/map_files/MetaStation/MetaStation.dmm

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4484,10 +4484,6 @@
44844484
/area/station/hallway/primary/central)
44854485
"bAV" = (
44864486
/obj/machinery/door/firedoor,
4487-
/obj/machinery/door/airlock/security/glass{
4488-
id_tag = "outerbrig";
4489-
name = "Brig"
4490-
},
44914487
/obj/effect/decal/cleanable/dirt,
44924488
/obj/structure/cable,
44934489
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -4496,11 +4492,9 @@
44964492
id = "secentranceflasher";
44974493
pixel_y = -5
44984494
},
4499-
/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
4500-
cycle_id = "brig-entrance"
4495+
/obj/machinery/turnstile/brig{
4496+
dir = 1
45014497
},
4502-
/obj/effect/mapping_helpers/airlock/access/all/security/entrance,
4503-
/obj/machinery/scanner_gate/preset_guns,
45044498
/turf/open/floor/iron,
45054499
/area/station/security/brig)
45064500
"bBo" = (
@@ -37241,17 +37235,13 @@
3724137235
/turf/open/floor/iron/white,
3724237236
/area/station/science/cytology)
3724337237
"mKQ" = (
37244-
/obj/machinery/door/airlock/security/glass{
37245-
id_tag = "innerbrig";
37246-
name = "Brig"
37247-
},
3724837238
/obj/structure/cable,
3724937239
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
3725037240
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
37251-
/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
37252-
cycle_id = "brig-entrance"
37241+
/obj/machinery/door/firedoor,
37242+
/obj/machinery/turnstile/brig{
37243+
dir = 1
3725337244
},
37254-
/obj/effect/mapping_helpers/airlock/access/all/security/entrance,
3725537245
/turf/open/floor/iron,
3725637246
/area/station/security/brig)
3725737247
"mKR" = (

code/controllers/subsystem/tts.dm

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -782,3 +782,17 @@ SUBSYSTEM_DEF(tts)
782782
return filtered_listeners
783783

784784
#undef SHIFT_DATA_ARRAY
785+
786+
787+
// MASSMETA ADD BEGIN
788+
/// Helper to get a random TTS voice for a vendor
789+
/datum/controller/subsystem/tts/proc/radnom_vendor_voice()
790+
if(!tts_enabled)
791+
return null
792+
793+
for (var/voice in available_speakers)
794+
if (findtext(voice, "Vendor"))
795+
return voice
796+
CRASH("Cant find voice for vendor! At least one voice must me for vendors")
797+
return pick(available_speakers)
798+
// MASSMETA ADD END

code/modules/vending/vendor/_vending.dm

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,8 +213,10 @@
213213
set_wires(new /datum/wires/vending(src))
214214

215215
if(SStts.tts_enabled)
216-
var/static/list/vendor_voice_by_type = list()
217-
vendor_voice_by_type[type] ||= SStts.random_tts_voice()
216+
var/static/vendor_voice_by_type = list()
217+
if(!vendor_voice_by_type[type])
218+
vendor_voice_by_type[type] = SStts.radnom_vendor_voice() // //MASSMETA ADD START (vendor one voice) Original: vendor_voice_by_type[type] = pick(SStts.available_speakers)
219+
218220
voice = vendor_voice_by_type[type]
219221

220222
slogan_list = splittext(product_slogans, ";")
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
author: "MassMeta"
2+
delete-after: True
3+
changes:
4+
- map: "добавлены турникеты ко входу в бриг (они крепкие, поэтому не думайте их ломать)"
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
author: "MassMeta"
2+
delete-after: True
3+
changes:
4+
- bugfix: "Вендоры говорят одним голосом"
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
/obj/machinery/turnstile
2+
name = "turnstile"
3+
desc = "A mechanical door that permits one-way access to an area."
4+
icon = 'modular_meta/features/security_extended/icons/objects.dmi'
5+
icon_state = "turnstile_map"
6+
power_channel = AREA_USAGE_ENVIRON
7+
density = TRUE
8+
max_integrity = 250
9+
armor_type = /datum/armor/machinery_turnstile
10+
anchored = TRUE
11+
use_power = FALSE
12+
idle_power_usage = 2
13+
resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
14+
layer = OPEN_DOOR_LAYER
15+
16+
/datum/armor/machinery_turnstile
17+
melee = 50
18+
bullet = 20
19+
laser = 0
20+
energy = 80
21+
bomb = 10
22+
fire = 90
23+
acid = 50
24+
25+
/obj/machinery/turnstile/Initialize(mapload)
26+
. = ..()
27+
icon_state = "turnstile"
28+
29+
/obj/machinery/turnstile/can_atmos_pass(turf/target_turf, vertical = FALSE)
30+
return TRUE
31+
32+
/obj/machinery/turnstile/Cross(atom/movable/mover)
33+
. = ..()
34+
if(istype(mover) && (mover.pass_flags & PASSGLASS))
35+
return TRUE
36+
if(istype(mover, /mob/living/simple_animal/bot))
37+
flick("operate", src)
38+
playsound(src,'sound/items/tools/ratchet.ogg',50,0,3)
39+
return TRUE
40+
else if (!isliving(mover) && !istype(mover, /obj/vehicle/ridden/wheelchair))
41+
flick("deny", src)
42+
playsound(src,'sound/machines/beep/deniedbeep.ogg',50,0,3)
43+
return FALSE
44+
var/allowed = allowed(mover)
45+
if(!allowed && mover.pulledby)
46+
allowed = allowed(mover.pulledby)
47+
48+
if(istype(mover, /obj/vehicle/ridden/wheelchair))
49+
for(var/mob/living/rider in mover.buckled_mobs)
50+
if(allowed(rider) && !mover.pulledby)
51+
allowed = TRUE
52+
var/is_handcuffed = FALSE
53+
if(iscarbon(mover))
54+
var/mob/living/carbon/C = mover
55+
is_handcuffed = C.handcuffed
56+
if((get_dir(loc, mover.loc) == dir && !is_handcuffed) || allowed)
57+
flick("operate", src)
58+
playsound(src,'sound/items/tools/ratchet.ogg',50,0,3)
59+
return TRUE
60+
else
61+
flick("deny", src)
62+
playsound(src,'sound/machines/beep/deniedbeep.ogg',50,0,3)
63+
return FALSE
64+
65+
/obj/machinery/turnstile/brig
66+
name = "brig turnstile"
67+
req_access = list(ACCESS_SECURITY)
68+
max_integrity = 350
69+
damage_deflection = 16

modular_meta/features/security_extended/code/spawners.dm

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,18 @@
44
. = ..()
55
new /obj/item/ammo_box/magazine/recharge(get_turf(src))
66
new /obj/item/gun/ballistic/automatic/laser/security(get_turf(src))
7+
8+
/obj/effect/spawner/random/baton_or_tonfa
9+
name = "baton or tonfa spawner"
10+
loot = list(
11+
/obj/item/melee/baton/security/loaded = 2,
12+
/obj/item/melee/tonfa = 1,
13+
)
14+
15+
/obj/item/storage/belt/security/full/PopulateContents()
16+
new /obj/item/reagent_containers/spray/pepper(src)
17+
new /obj/item/restraints/handcuffs(src)
18+
new /obj/item/grenade/flashbang(src)
19+
new /obj/item/assembly/flash/handheld(src)
20+
new /obj/effect/spawner/random/baton_or_tonfa(src)
21+
update_appearance()
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/datum/supply_pack/security/armory/slrifle
2+
name = "Security Laser Rifle Crate"
3+
desc = "Contains single Security Laser Rifle and powerpack to it. Developed by Research Nanotrasen group. \
4+
For security department, ."
5+
cost = CARGO_CRATE_VALUE * 8
6+
contains = list(/obj/item/gun/ballistic/automatic/laser/security = 1, /obj/item/ammo_box/magazine/recharge = 2)
7+
crate_name = "security laser rifle crate"
8+
crate_type = /obj/structure/closet/crate/secure/plasma
9+
10+
/datum/supply_pack/security/slr_ammo
11+
name = "Security Laser Rifle Ammo Crate"
12+
desc = "Contains a bunch of types powerpacks, that can be putted \
13+
in the Security Laser Rifle."
14+
cost = CARGO_CRATE_VALUE * 6.5
15+
access_view = ACCESS_ARMORY
16+
contains = list(/obj/item/ammo_box/magazine/recharge = 3,
17+
/obj/item/ammo_box/magazine/recharge/stun = 1,
18+
/obj/item/ammo_box/magazine/recharge/scatter = 1,
19+
)
20+
crate_name = "ammo crate"
21+
22+
/datum/supply_pack/security/tonfa
23+
name = "Poilice Tonfa Crate"
24+
desc = "Arm the Civil Protection Forces with three police tonfa."
25+
cost = CARGO_CRATE_VALUE * 3
26+
access_view = ACCESS_SECURITY
27+
contains = list(/obj/item/melee/tonfa = 3)
28+
crate_name = "police tonfa crate"

0 commit comments

Comments
 (0)