Мне понравилась идея Kartag:
Цитата
Так что вот код, оценивайте, исправляйте, оптимизируйте:
___ - условный отступ, в коде он не выделяется подчеркиванием
Файл "code\modules\mob\living\carbon\human\examine.dm":
Цитата
if(istype(usr, /mob/living/carbon/human))
___var/mob/living/carbon/human/H = usr
___if(istype(H.glasses, /obj/item/clothing/glasses/hud/health))
______msg += "<span class='warning'><b>Damage Specifics: [src.getOxyLoss()]-[src.getToxLoss()]-[src.getFireLoss()]-[src.getBruteLoss()]</b></span>\n"
//конец кода (не затронутая часть опущена)
usr << msg
Пару пояснений для людей не знающих код:
- if(istype(usr, /mob/living/carbon/human)). istype(X, Y) - Сравнение типов объектов X и Y, если тип объекта, на который указывает X, является дочерним или равным от типа Y, то возвращается TRUE. Пример istype(usr, /mob/living/carbon/human) - тоже самое что вопрос является ли тип объекта "usr" - типом гуманоид ("/mob/living/carbon/human" дословно "существо/живое/углеродное/гуманоид")
- var/mob/living/carbon/human/H = usr. До знака = создается окальная переменная "H", ее тип будет равен тому что написано после var и до имени переменной. После знака "=" пишется то какое значение будет у данной переменной (usr - это игрок)
- if(istype(H.glasses, /obj/item/clothing/glasses/hud/health)). Опять проверка типов, но теперь проверяется надеты ли очки: H.glasses - слот глаз объекта "H", /obj/item/clothing/glasses/hud/health - медецинские очки-анализаторы.
- var/perpname = "wot"
var/medical = "None" - это нам не нужно - пропускаем - msg += к тому что есть в переменной msg прибавляем то что идет после знака "="
- "<span class='warning'>Damage Specifics: [src.getOxyLoss()]-[src.getToxLoss()]-[src.getFireLoss()]-[src.getBruteLoss()]</span>\n" - это сообщение которое будет выдаваться
- тег <span class='warning'>.....</span> - форматирование выводимого текста, warning - красное сообщение, как то что сообщает о наличии крови на одежде.
- Damage Specifics: - просто текст (перевод: Тип урона)
- [src.getOxyLoss()]-[src.getToxLoss()]-[src.getFireLoss()]-[src.getBruteLoss()] - src - это тот кого мы экземайнем. get***Loss() - полученный урон типа ***, где *** это Oxy - урон от удушья, Tox - токсичный урон, Fire - ожеги, Brute - удары/порезы.
- \n - переход на новую строку, в этом сообщении он нужен для того чтобы после вывода урона следующий дальше текст появился на новой строке.
- usr << msg - финальная часть - вывод всего текста содержащегося в переменной "msg" пользователю