Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.

Commit 1f756a7

Browse files
committed
less muck
1 parent 6de763c commit 1f756a7

File tree

8 files changed

+38
-21
lines changed

8 files changed

+38
-21
lines changed

code/__HELPERS/game.dm

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,14 @@
6767
return
6868

6969
///Returns the name of the area the atom is in
70-
/proc/get_area_name(atom/checked_atom, format_text = FALSE)
71-
var/area/checked_area = isarea(checked_atom) ? checked_atom : get_area(checked_atom)
72-
if(!checked_area)
70+
/proc/get_area_name(atom/X, format_text = FALSE, is_sensor = FALSE)
71+
var/area/A = isarea(X) ? X : get_area(X)
72+
if(!A)
7373
return null
74-
return format_text ? format_text(checked_area.name) : checked_area.name
74+
var/name = A.name
75+
if (is_sensor && !A.show_on_sensors)
76+
name = Gibberish(name, TRUE, 90)
77+
return format_text ? format_text(name) : name
7578

7679
/proc/get_cardinal_step_away(atom/start, atom/finish) //returns the position of a step from start away from finish, in one of the cardinal directions
7780
//returns only NORTH, SOUTH, EAST, or WEST

code/game/machinery/computer/security.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
radio = new(src)
3838
radio.keyslot = new radio_key
3939
radio.subspace_transmission = TRUE
40-
radio.listening = FALSE
40+
radio.set_listening(FALSE)
4141
radio.use_command = TRUE
4242
radio.independent = TRUE
4343
radio.recalculateChannels()

code/game/machinery/telecomms/machine_interactions.dm

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,13 @@
146146
if("link")
147147
if(heldmultitool)
148148
var/obj/machinery/telecomms/tcomms_machine = multitool_get_buffer(src, heldmultitool)
149-
. = add_new_link(T, operator)
149+
if(istype(tcomms_machine) && tcomms_machine != src)
150+
if(!(src in tcomms_machine.links))
151+
tcomms_machine.links += src
152+
if(!(tcomms_machine in links))
153+
links += tcomms_machine
154+
log_game("[key_name(operator)] linked [src] for [tcomms_machine] at [AREACOORD(src)].")
155+
150156
if("buffer") // Yogs start -- holotool support
151157
if(heldmultitool)
152158
multitool_set_buffer(usr, heldmultitool, src)

code/game/mecha/mecha.dm

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
light_system = MOVABLE_LIGHT_DIRECTIONAL
1313
light_range = 8
1414
light_on = FALSE
15-
flags_1 = HEAR_1
1615
demolition_mod = 3 // mech punch go brr
1716
var/weather_protection = WEATHER_STORM
1817
var/ruin_mecha = FALSE //if the mecha starts on a ruin, don't automatically give it a tracking beacon to prevent metagaming.
@@ -171,6 +170,7 @@
171170
diag_hud_set_mechoverheat()
172171
RegisterSignal(src, COMSIG_LIGHT_EATER_ACT, PROC_REF(on_light_eater))
173172
ADD_TRAIT(src, TRAIT_SHIELDBUSTER, INNATE_TRAIT) // previously it didn't even check shields at all, now it still doesn't but does some fun stuff in the process
173+
become_hearing_sensitive()
174174

175175
/// Special light eater handling
176176
/obj/mecha/proc/on_light_eater(obj/vehicle/sealed/source, datum/light_eater)
@@ -203,6 +203,7 @@
203203
else
204204
M.forceMove(loc)
205205
force_eject_occupant()
206+
lose_hearing_sensitivity()
206207
for(var/obj/item/mecha_parts/mecha_equipment/E in equipment)
207208
E.detach(loc)
208209
qdel(E)
@@ -537,7 +538,7 @@
537538
/obj/mecha/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, list/message_mods = list())
538539
. = ..()
539540
if(speaker == occupant)
540-
if(radio?.broadcasting)
541+
if(radio?.get_broadcasting())
541542
radio.talk_into(speaker, text, , spans, message_language, message_mods)
542543
//flick speech bubble
543544
var/list/speech_bubble_recipients = list()

code/game/mecha/mecha_topic.dm

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -116,12 +116,12 @@
116116
<div class='header'>Electronics</div>
117117
<div class='links'>
118118
<b>Radio settings:</b><br>
119-
Microphone: [radio? "<a href='?src=[REF(src)];rmictoggle=1'><span id=\"rmicstate\">[radio.broadcasting?"Engaged":"Disengaged"]</span></a>":"Error"]<br>
120-
Speaker: [radio? "<a href='?src=[REF(src)];rspktoggle=1'><span id=\"rspkstate\">[radio.listening?"Engaged":"Disengaged"]</span></a>":"Error"]<br>
119+
Microphone: [radio? "<a href='?src=[REF(src)];rmictoggle=1'><span id=\"rmicstate\">[radio.get_broadcasting() ?"Engaged":"Disengaged"]</span></a>":"Error"]<br>
120+
Speaker: [radio? "<a href='?src=[REF(src)];rspktoggle=1'><span id=\"rspkstate\">[radio.get_listening() ?"Engaged":"Disengaged"]</span></a>":"Error"]<br>
121121
Frequency:
122122
[radio? "<a href='?src=[REF(src)];rfreq=-10'>-</a>":"-"]
123123
[radio? "<a href='?src=[REF(src)];rfreq=-2'>-</a>":"-"]
124-
<span id="rfreq">[radio?"[format_frequency(radio.frequency)]":"Error"]</span>
124+
<span id="rfreq">[radio?"[format_frequency(radio.get_frequency())]":"Error"]</span>
125125
[radio? "<a href='?src=[REF(src)];rfreq=2'>+</a>":"+"]
126126
[radio? "<a href='?src=[REF(src)];rfreq=10'>+</a><br>":"+"]
127127
</div>
@@ -332,19 +332,22 @@
332332
send_byjax(usr,"exosuit.browser","eq_list",src.get_equipment_list())
333333

334334
if(href_list["rmictoggle"])
335-
radio.broadcasting = !radio.broadcasting
336-
send_byjax(usr,"exosuit.browser","rmicstate",(radio.broadcasting?"Engaged":"Disengaged"))
335+
radio.set_broadcasting(!radio.get_broadcasting())
336+
send_byjax(usr,"exosuit.browser","rmicstate",(radio.get_broadcasting()?"Engaged":"Disengaged"))
337+
return
337338

338339
if(href_list["rspktoggle"])
339-
radio.listening = !radio.listening
340-
send_byjax(usr,"exosuit.browser","rspkstate",(radio.listening?"Engaged":"Disengaged"))
340+
radio.set_listening(!radio.get_listening())
341+
send_byjax(usr,"exosuit.browser","rspkstate",(radio.get_listening()?"Engaged":"Disengaged"))
342+
return
341343

342344
if(href_list["rfreq"])
343-
var/new_frequency = (radio.frequency + text2num(href_list["rfreq"]))
344-
if (!radio.freerange || (radio.frequency < MIN_FREE_FREQ || radio.frequency > MAX_FREE_FREQ))
345+
var/new_frequency = (radio.get_frequency() + text2num(href_list["rfreq"]))
346+
if (!radio.freerange || (radio.get_frequency() < MIN_FREE_FREQ || radio.get_frequency() > MAX_FREE_FREQ))
345347
new_frequency = sanitize_frequency(new_frequency)
346348
radio.set_frequency(new_frequency)
347-
send_byjax(usr,"exosuit.browser","rfreq","[format_frequency(radio.frequency)]")
349+
send_byjax(usr,"exosuit.browser","rfreq","[format_frequency(radio.get_frequency())]")
350+
return
348351

349352
if (href_list["change_name"])
350353
var/userinput = stripped_input(occupant, "Choose new exosuit name", "Rename exosuit", "", MAX_NAME_LEN)

code/game/mecha/working/clarke.dm

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
facing_modifiers = list(FRONT_ARMOUR = 1.2, SIDE_ARMOUR = 1, BACK_ARMOUR = 0.8) // omnidirectional, less significant difference between attack directions
1515
light_power = 7
1616
deflect_chance = 10
17-
flags_1 = HEAR_1 | RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1
17+
flags_1 = RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1
1818
armor = list(MELEE = 25, BULLET = 10, LASER = 20, ENERGY = 0, BOMB = 60, BIO = 0, RAD = 100, FIRE = 100, ACID = 100)
1919
max_equip = 7
2020
enter_delay = 40
@@ -29,9 +29,11 @@
2929
var/obj/item/mecha_parts/mecha_equipment/orebox_manager/ME = new(src)
3030
ME.attach(src)
3131
AddComponent(/datum/component/armor_plate, 5, /obj/item/stack/sheet/animalhide/weaver_chitin, list(MELEE = 5, BULLET = 2, LASER = 2))
32+
become_hearing_sensitive()
3233

3334
/obj/mecha/working/clarke/Destroy()
3435
box.dump_box_contents()
36+
lose_hearing_sensitivity()
3537
return ..()
3638

3739
/obj/mecha/working/clarke/moved_inside(mob/living/carbon/human/H)

code/game/mecha/working/ripley.dm

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
A.forceMove(drop_location())
3333
step_rand(A)
3434
cargo.Cut()
35+
lose_hearing_sensitivity()
3536
return ..()
3637

3738
/obj/mecha/working/ripley/go_out()
@@ -61,6 +62,7 @@
6162
/obj/mecha/working/ripley/Initialize(mapload)
6263
. = ..()
6364
AddComponent(/datum/component/armor_plate,3,/obj/item/stack/sheet/animalhide/goliath_hide,list(MELEE = 10, BULLET = 5, LASER = 5))
65+
become_hearing_sensitive()
6466

6567
/obj/mecha/working/ripley/firefighter
6668
desc = "Autonomous Power Loader Unit MK-II. This model is fitted with a pressurized cabin and thermal protection."
@@ -74,7 +76,7 @@
7476
step_in = 3
7577
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
7678
weather_protection = WEATHER_LAVA|WEATHER_STORM
77-
flags_1 = HEAR_1 | RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1
79+
flags_1 = RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1
7880
armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 0, BOMB = 60, BIO = 100, RAD = 100, FIRE = 100, ACID = 100)
7981
enclosed = TRUE
8082
enter_delay = 40

code/game/objects/items/devices/radio/radio.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ GLOBAL_LIST_INIT(channel_tokens, list(
270270
return
271271
if(radio_sounds.len) //Sephora - Radios make small static sounds now.
272272
var/sound/radio_sound = pick(radio_sounds)
273-
playsound(M.loc, radio_sound, 50, 1)
273+
playsound(talking_movable.loc, radio_sound, 50, 1)
274274

275275
if(use_command)
276276
spans |= SPAN_COMMAND

0 commit comments

Comments
 (0)