/
githubmirror
/
vgstation13
Обзор
Документация
Войти
/
githubmirror
/
vgstation13
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
Bleeding-Edge
code/modules/assembly/speaker.dm
60 строк
2 KB
ShiftyRail
mime erp (#28662)
24 янв 2021, 04:17
Не верифицирован
24 янв 2021, 04:17
6365f8e
Код
Авторство
О чём код?
#define VALUE_MESSAGE "Message" /obj/item/device/assembly/speaker name = "speaker" var/real_name = "speaker" //speakers can be renamed with a pen desc = "Used to play pre-recorded messages." icon_state = "speaker" item_state = "speaker" starting_materials = list(MAT_IRON = 800, MAT_GLASS = 100) w_type = RECYK_ELECTRONIC origin_tech = Tc_MAGNETS + "=1" var/message = "Thank you for using NanoSpeaker!" accessible_values = list(VALUE_MESSAGE = "message;"+VT_TEXT) /obj/item/device/assembly/speaker/activate() src.say(message) /obj/item/device/assembly/speaker/attack_self(mob/user as mob) var/new_msg = sanitize(input(user,"Enter new message for the [src]","NanoSpeaker Settings",message)) if(!Adjacent(user) || user.incapacitated()) return message = new_msg var/datum/language/language if(user.stat == DEAD) //ENGAGE SPOOKS! language = all_languages["Spooky"] src.say("New message: [message]", language) log_say("[key_name(user)]: '[message]' as [language ? language.name : "no language"] (using a speaker)") /obj/item/device/assembly/speaker/attackby(obj/item/W as obj, mob/user as mob) ..() if(istype(W,/obj/item/weapon/pen)) //pen var/new_name = sanitize(input(user,"Enter new name for the [src]","NanoSpeaker Settings",name)) if(!Adjacent(user) || user.incapacitated()) return if(new_name != "") name = "[real_name] ([new_name])" else name = real_name /obj/item/device/assembly/speaker/say(message, var/datum/language/speaking, var/atom/movable/radio=src) if(istype(loc, /obj/item/device/assembly_frame)) //When put in assembly frames, the speakers can't be heard. var/obj/item/device/assembly_frame/F = loc //This is a workaround F.say(message, speaking, radio) else return ..() /obj/item/device/assembly/speaker/can_speak() return 1 /* /obj/item/device/assembly/speaker/proc/say(var/msg=message as text) var/tmp/location = get_turf(src) for(var/mob/O in hearers(location, null)) //to all living O.show_message("<span class='game say'><span class='name'>[src]</span> beeps, \"[msg]\"",2) */ #undef VALUE_MESSAGE