Skip to content

Commit

Permalink
Merge branch 'dev-sierra' into solo-line-abuse2
Browse files Browse the repository at this point in the history
  • Loading branch information
ImJustKisik authored Oct 14, 2024
2 parents 1ce7ed6 + 2060b4d commit b317c71
Show file tree
Hide file tree
Showing 135 changed files with 962 additions and 659 deletions.
1 change: 1 addition & 0 deletions baystation12.dme
Original file line number Diff line number Diff line change
Expand Up @@ -3373,6 +3373,7 @@
#include "mods\_master_files\code\modules\projectiles\projectile\bullets.dm"
#include "mods\_master_files\code\modules\species\species.dm"
#include "mods\_master_files\code\modules\species\station\adherent.dm"
#include "mods\_master_files\code\modules\species\station\human_subspecies.dm"
#include "mods\_master_files\code\modules\species\station\machine.dm"
#include "mods\_master_files\maps\mapsystem\maps.dm"
#include "mods\_master_files\maps\sierra\sierra_ranks.dm"
Expand Down
130 changes: 65 additions & 65 deletions code/game/gamemodes/objective.dm

Large diffs are not rendered by default.

35 changes: 35 additions & 0 deletions code/game/machinery/body_scanner_console.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,13 @@
var/list/connected_displays = list()
var/list/data = list()
var/scan_data
var/obj/item/stock_parts/computer/hard_drive/portable/disk = null //Stores the data disk.

/obj/machinery/body_scanconsole/Initialize()
. = ..()
FindScanner()
update_icon()
disk = new /obj/item/stock_parts/computer/hard_drive/portable/advanced(src)

/obj/machinery/body_scanconsole/on_update_icon()
ClearOverlays()
Expand Down Expand Up @@ -76,6 +78,7 @@
return ..()

/obj/machinery/body_scanconsole/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1)
data["has_disk"] = !!disk
if(connected && connected.occupant)
data["scanEnabled"] = TRUE
if(ishuman(connected.occupant))
Expand Down Expand Up @@ -123,6 +126,7 @@
SPAN_ITALIC("You hear a series of beeps, followed by a deep humming sound.")
)
playsound(connected.loc, 'sound/machines/medbayscanner.ogg', 50)
savescan() // SIERRA-ADD
return TOPIC_REFRESH

if (href_list["print"])
Expand Down Expand Up @@ -155,6 +159,14 @@
data["pushEnabled"] = FALSE
return TOPIC_REFRESH

// SIERRA-ADD
if(href_list["eject"])
if(disk)
disk.forceMove(get_turf(src))
disk = null
// /SIERRA-ADD
return TOPIC_REFRESH

/obj/machinery/body_scanconsole/state_transition(singleton/machine_construction/default/new_state)
. = ..()
if(istype(new_state))
Expand All @@ -169,3 +181,26 @@
for(var/D in connected_displays)
remove_display(D)
unlink_scanner(connected)

// SIERRA-ADD
/obj/machinery/body_scanconsole/use_tool(obj/item/D, mob/living/user, list/click_params)
. = ..()
if(istype(D, /obj/item/stock_parts/computer/hard_drive/portable))
if(disk)
to_chat(user, SPAN_NOTICE("A disk is already loaded into the machine."))
return

user.drop_item()
D.forceMove(src)
disk = D
to_chat(user, SPAN_NOTICE("You add \the [D] to the machine."))
SSnano.update_uis(src)

/obj/machinery/body_scanconsole/proc/savescan()
if(!disk)
return
var/datum/computer_file/data/bodyscan/file = new /datum/computer_file/data/bodyscan
var/list/filedata = data["scan"]
var/name = file.set_filename("[connected.occupant]-[stationtime2text()]")
disk.save_data_file(name, filedata.Copy(), file_type = /datum/computer_file/data/bodyscan)
// /SIERRA-ADD
17 changes: 11 additions & 6 deletions code/game/objects/items/weapons/autopsy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
var/list/chemtraces = list()
var/target_name = null
var/timeofdeath = null
var/target = null
//[SIERRA-ADD] - MODPACK_RND

/obj/item/paper/autopsy_report
Expand Down Expand Up @@ -183,12 +184,16 @@
return 1

/obj/item/autopsy_scanner/proc/set_target(atom/new_target, user)
if(target_name != new_target.name)
target_name = new_target.name
wdata.Cut()
chemtraces.Cut()
timeofdeath = null
to_chat(user, SPAN_NOTICE("A new patient has been registered. Purging data for previous patient."))
//[SIERRA-ADD]
if(target != new_target)
target = new_target
//[/SIERRA-ADD]
if(target_name != new_target.name)
target_name = new_target.name
wdata.Cut()
chemtraces.Cut()
timeofdeath = null
to_chat(user, SPAN_NOTICE("A new patient has been registered. Purging data for previous patient."))

/obj/item/autopsy_scanner/use_after(obj/item/organ/external/target, mob/living/user, click_parameters)
if(!istype(target))
Expand Down
2 changes: 1 addition & 1 deletion code/modules/clothing/spacesuits/rig/modules/utility.dm
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
usable = 1
selectable = 0
device = /obj/item/device/ano_scanner
origin_tech = list(TECH_BLUESPACE = 4, TECH_MAGNET = 4, TECH_ENGINEERING = 6)
origin_tech = list(TECH_BLUESPACE = 6, TECH_MAGNET = 4, TECH_ENGINEERING = 7)

/obj/item/rig_module/device/orescanner
name = "ore scanner module"
Expand Down
7 changes: 7 additions & 0 deletions code/modules/clothing/under/miscellaneous.dm
Original file line number Diff line number Diff line change
Expand Up @@ -565,6 +565,13 @@
worn_state = "gear_harness"
species_restricted = null
body_parts_covered = 0
// [ASCENT-ADD]
sprite_sheets = list(
SPECIES_MONARCH_QUEEN = 'icons/mob/species/nabber/msq/onmob_under_msq.dmi',
SPECIES_NABBER = 'icons/mob/species/nabber/onmob_under_gas.dmi',
SPECIES_MONARCH_WORKER = 'icons/mob/species/nabber/onmob_under_gas.dmi'
)
// [/ASCENT-ADD]

/obj/item/clothing/under/pcrc
name = "\improper PCRC uniform"
Expand Down
12 changes: 11 additions & 1 deletion code/modules/modular_computers/file_system/data.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,18 @@
read_only = TRUE
papertype = /obj/item/paper/bodyscan

//[SIERRA-EDIT]
/datum/computer_file/data/bodyscan/generate_file_data(mob/user)
return display_medical_data(metadata, user.get_skill_value(SKILL_MEDICAL), TRUE)
return display_medical_data(stored_data, user.get_skill_value(SKILL_MEDICAL), TRUE)
//[/SIERRA-EDIT]
//[SIERRA-ADD]
/datum/computer_file/data/bodyscan/proc/generate_print_data(mob/user)
return digitalPencode2html(stored_data)

/datum/computer_file/data/bodyscan/proc/set_filename(new_name)
var/list/replacechars = list(":" = ""," " = "")
return replace_characters(new_name, replacechars)
//[/SIERRA-ADD]

/// Mapping tool - creates a named modular computer file in a computer's storage on late initialize.
/// Use this to do things like automatic records and blackboxes. Alternative for paper records.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,15 @@
var/datum/computer_file/data/F = computer.get_file(open_file)
//[SIERRA-EDIT]
var/datum/computer_file/binary/photo/P = computer.get_file(open_file)
if(istype(F))
var/datum/computer_file/data/bodyscan/B = computer.get_file(open_file)
if(istype(B))
if(!computer.print_bodyscan())
error = "Hardware error: Unable to print the file."
return
else
var/obj/item/paper/bodyscan/paper = new /obj/item/paper/bodyscan(usr.loc, "Printout error.", "Body scan report - [B.filename]", B.generate_print_data())
paper.metadata = B.stored_data
else if(istype(F))
if(!computer.print_paper(F.generate_file_data(),F.filename,F.papertype, F.metadata))
error = "Hardware error: Unable to print the file."
return
Expand Down Expand Up @@ -115,7 +123,11 @@
var/datum/computer_file/data/F = PRG.computer.get_file(PRG.open_file)
//[SIERRA-ADD] - MODPACK RND
var/datum/computer_file/binary/photo/P = PRG.computer.get_file(PRG.open_file)
if(istype(P))
var/datum/computer_file/data/bodyscan/B = PRG.computer.get_file(PRG.open_file)
if(istype(B))
data["filename"] = "[B.filename].[B.filetype]"
data["filedata"] = B.generate_file_data(user, B.stored_data)
else if(istype(P))
data["filename"] = "[P.filename].[P.filetype]"
data["photodata"] = P.generate_photo_data(user, P.photo)
//[/SIERRA-ADD] - MODPACK RND
Expand Down
2 changes: 1 addition & 1 deletion code/modules/modular_computers/hardware/nano_printer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
var/turf/T = get_turf(src)
stored_paper -= 5
playsound(T, "sound/machines/dotprinter.ogg", 30)
T.visible_message(SPAN_NOTICE("\The [src] prints out a photo."))
T.visible_message(SPAN_NOTICE("\The [src] prints out a data."))
//just to spend paper, real photos are printerd /datum/extension/interactive/ntos/proc/print_photo(content, title)
return TRUE
//[/SIERRA-ADD]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

/obj/item/stock_parts/computer/hard_drive/portable/advanced
name = "advanced data crystal"
desc = "Small crystal with imprinted high-density photonic circuits that can be used to store data. Its capacity is 64 GQ."
desc = "Small crystal with imprinted high-density photonic circuits that can be used to store data. Its capacity is 32 GQ."
power_usage = 20
icon_state = "flashdrive_advanced"
hardware_size = 1
Expand All @@ -19,7 +19,7 @@

/obj/item/stock_parts/computer/hard_drive/portable/super
name = "super data crystal"
desc = "Small crystal with imprinted ultra-density photonic circuits that can be used to store data. Its capacity is 256 GQ."
desc = "Small crystal with imprinted ultra-density photonic circuits that can be used to store data. Its capacity is 64 GQ."
power_usage = 40
icon_state = "flashdrive_super"
hardware_size = 1
Expand Down
5 changes: 5 additions & 0 deletions code/modules/modular_computers/ntos/components.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@
return printer.print_text(content, title)

//[SIERRA-ADD]
/datum/extension/interactive/ntos/proc/print_bodyscan(text_to_print, paper_title, bodyscan, md)
var/obj/item/stock_parts/computer/nano_printer/printer = get_component(PART_PRINTER)
if(printer)
return printer.print_picture() // just to spend paper

/datum/extension/interactive/ntos/proc/print_photo(photo, name)
var/obj/item/stock_parts/computer/nano_printer/printer = get_component(PART_PRINTER)
if(printer)
Expand Down
4 changes: 2 additions & 2 deletions code/modules/projectiles/guns/launcher/money_cannon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@
release_force = 0
return

// Must launch at least 100 thaler to incur damage.
release_force = dispensing / 100
// Must launch at least 100 thaler to incur damage. Max of 15k to prevent infinite damage.
release_force = min(dispensing / 100, 150)

/obj/item/gun/launcher/money/proc/unload_receptacle(mob/user)
if(receptacle_value < 1)
Expand Down
129 changes: 43 additions & 86 deletions html/changelog.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,49 @@ <h2>Sierra SS13</h2>
-->
<div class="changelog">

<h2 class="date">14.10 - 2024</h2>
<h3 class="author">Обновления Lexanx:</h3>
<div class="changes bgimages16">
<div class="log rscadd">Добавлена возможность сохранять сканы с бодисканнера.</div>
<div class="log rscadd">Добавлен новый тип файлов. BSC - bodyscan</div>
</div>
<h3 class="author">Обновления Neonvolt:</h3>
<div class="changes bgimages16">
<div class="log bugfix">Исправлен доступ дрона Восхождения</div>
<div class="log bugfix">Множественные исправления пропавших спрайтов Восхождения</div>
<div class="log rscadd">Добавлены сканеры аномалий для различных ИКСов Восхождения</div>
<div class="log experiment">Возвращены авей-корабли Восхождения</div>
</div>

<h2 class="date">06.10 - 2024</h2>
<h3 class="author">Обновления Builder13:</h3>
<div class="changes bgimages16">
<div class="log bugfix">Фикс вставки кристаллов в консоль телесайнса</div>
<div class="log tweak">Возврат старой скорости перемещения для Адхерантов</div>
<div class="log maptweak">Паник кнопка добавлена на корабли</div>
<div class="log rscadd">Возвращено дыхание под водой для Тритонцев</div>
<div class="log rscadd">Возвращена вкладка size converter для принтера интегральных плат</div>
</div>
<h3 class="author">Обновления Lexanx:</h3>
<div class="changes bgimages16">
<div class="log bugfix">Пофиксил баг аутопсии и фикс некорректного описания и пропавшей подкожной брони из робо</div>
<div class="log rscadd">Добавил в игру бирку для переименования симлмобов</div>
</div>
<h3 class="author">Обновления awkardlyconfusedneuralnetwork:</h3>
<div class="changes bgimages16">
<div class="log bugfix">fixed this instant headgib exploit that dumb as hell</div>
</div>
<h3 class="author">Обновления awkardlyconfusedneuralnetwork, out-of-phaze:</h3>
<div class="changes bgimages16">
<div class="log tweak">Makes observ cleanup tracking use datum vars instead of a list</div>
</div>

<h2 class="date">30.09 - 2024</h2>
<h3 class="author">Обновления Shegar:</h3>
<div class="changes bgimages16">
<div class="log bugfix">Временный откат позволяющий прокликивать ИИшке</div>
</div>

<h2 class="date">29.09 - 2024</h2>
<h3 class="author">Обновления UEDHighCommand:</h3>
<div class="changes bgimages16">
Expand Down Expand Up @@ -250,92 +293,6 @@ <h3 class="author">Обновления Vipo24:</h3>
<div class="changes bgimages16">
<div class="log bugfix">Пофиксил библиотеку. Книги вновь можно писать, и они не будут пустыми!</div>
</div>

<h2 class="date">10.08 - 2024</h2>
<h3 class="author">Обновления Merlin1230:</h3>
<div class="changes bgimages16">
<div class="log bugfix">Roundstart exosuits now actually spawn with boards instead of having their software work via black magic</div>
</div>
<h3 class="author">Обновления Qlonever:</h3>
<div class="changes bgimages16">
<div class="log tweak">made some instances of randomness return real numbers instead of integers</div>
</div>
<h3 class="author">Обновления SierraKomodo:</h3>
<div class="changes bgimages16">
<div class="log tweak">Void stripes can now only be attached to void suits.</div>
<div class="log bugfix">Machinery that can be entered now checks if all conditions are met before starting the "Put person in thing" timer.</div>
<div class="log bugfix">It is no longer possible to put people into disposal bins if they manage to escape or are thrown away from the bin during the timer.</div>
<div class="log bugfix">Blood covered clothing no longer sometimes gets stuck with irremovable blood overlays due to caching shenanigans.</div>
</div>

<h2 class="date">09.08 - 2024</h2>
<h3 class="author">Обновления Teteshnik:</h3>
<div class="changes bgimages16">
<div class="log bugfix">Пофиксил спрайт смены режима стрельбы у smart service revolver</div>
<div class="log tweak">Теперь в пистолете имеется 1 магазин обычный и 1 расширенный</div>
<div class="log tweak">Добавил еще один шипомет на вокс шип.</div>
<div class="log bugfix">Пофиксил спрайт тревоги во время фиолетовой угрозе.</div>
<div class="log bugfix">Пофиксил худы.</div>
</div>

<h2 class="date">05.08 - 2024</h2>
<h3 class="author">Обновления Lexanx:</h3>
<div class="changes bgimages16">
<div class="log bugfix">Пофикшены многочисленные баги с фотографиями.</div>
<div class="log rscadd">Новый тип файлов DNG - DAIS Portable Grafics.</div>
<div class="log rscadd">Вспышка на фотоаппараты</div>
<div class="log rscadd">Возможность делать фото с модульных компьютеров.</div>
</div>
<h3 class="author">Обновления Teteshnik:</h3>
<div class="changes bgimages16">
<div class="log rscadd">Переношу код мозга из фиников на сьеррабей</div>
</div>

<h2 class="date">04.08 - 2024</h2>
<h3 class="author">Обновления Lexanx:</h3>
<div class="changes bgimages16">
<div class="log bugfix">Исправлена синхронизация робофабрикаторов</div>
<div class="log bugfix">Исправлен некорректный нейминг дизайна СБ худов</div>
<div class="log bugfix">Исправлены проблемы с ремонтом позитронного мозга</div>
<div class="log bugfix">Исправлен баг с телепортирующийся флешкой из консоли РнД</div>
<div class="log bugfix">Исправлен список допустимых рас на роль тритора. ИПС и Дионы возвращены</div>
<div class="log bugfix">Шансы робоопераций упрощены</div>
<div class="log bugfix">Переработана эффективность программы для майнинга очков</div>
<div class="log rscadd">Добавлен скрап шлем воксов.</div>
<div class="log balance">Изменены циферки в оружии воксов, баланс</div>
</div>
<h3 class="author">Обновления Teteshnik:</h3>
<div class="changes bgimages16">
<div class="log rscadd">Добавлен уникальный пистолет для ГСБ.</div>
<div class="log tweak">Подправил урон по мозгу, теперь 3 попадания из слагов по незащищенной голове убивают мозг.</div>
</div>

<h2 class="date">03.08 - 2024</h2>
<h3 class="author">Обновления KandJX:</h3>
<div class="changes bgimages16">
<div class="log maptweak">Восстановил правильный доступ к комнате Капитана.</div>
</div>

<h2 class="date">01.08 - 2024</h2>
<h3 class="author">Обновления Shegar:</h3>
<div class="changes bgimages16">
<div class="log bugfix">СМГ нормально заряжается коробкой.</div>
<div class="log bugfix">Нельзя чиниться сидя в мехе.</div>
<div class="log soundadd">Добавил звук переключения модулей через кейбинд</div>
<div class="log experiment">Обычная слепота у меха заменена на новые эффекты. Если мех ослеплён - одно изображение, если без энергии - второе. Если мех получил эми удар, пилот получает помехи на экране. Тест фича.</div>
<div class="log rscadd">Добавлены кейбинды для быстрого переключения текущего модуля, переключения стрейфа, активации модуля на спине. Последние два настраиваются в настройках персонажа, первое лишь через СКМ.</div>
<div class="log rscadd">Добавлена система ускорения меха. Мех стартует с своей минимальной скорости и разгоняется до максимальной скорости (которая была всё время стандартной). Мех не стал быстрее, теперь ему нужно время на разгон. При повороте мех теряет скорость. Если мех не двигается - он тоже теряет скорость. Ускорение зависит от номинальной скорости ног и общего веса меха.</div>
<div class="log rscadd">Улучшена система тарана и давления, урон зависит от: Интента пилота, скорости меха, вес меха, типа ног.</div>
<div class="log maptweak">Колония перестроена, мед расширен, забор обрезан, всё для РАСТа перенесено на склад. Всё оборудование заранее улучшено. При столкновении, мех полностью теряет скорость.</div>
<div class="log balance">Урон от пуль СМГ снижен до 30</div>
<div class="log balance">Пересмотрены цифры теплоёмкости частей и скорости охлаждения у мехов.</div>
<div class="log admin">Вместо кнопки выбора типа колонии теперь кнопка настройки спавна колонии - отображение текущего типа, настройка реакции на ошибку в коде, сам выбор типа колонии.</div>
</div>
<h3 class="author">Обновления Teteshnik:</h3>
<div class="changes bgimages16">
<div class="log bugfix">Пофиксил стоимость кранчиков в автолате</div>
<div class="log rscadd">Добавил новые тэги в кодексе для ручки.</div>
</div>
</div></div>
<div class="icons-by">Icons by <a target="_blank" href="https://icons8.com">Icons8</a></div>
</body></html>
Loading

0 comments on commit b317c71

Please sign in to comment.