Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Заготовка для RnD refork
Создаю Пулл для работы над рефорком РнД, здесь пока опишу идеи, как будем менять РнД и подстраивать его под реалии фонда.
Для начала поясню задумку глобально: У нас есть бэй-РнД, который никак не подходит для SCP фонда в целом, следовательно, компоненты старого РнД мы переделываем и переосмысляем полностью. Как же мы это делаем? Разделяем Исследования и Разработки на четыре направления исследований:
Рассмотрим каждое направление подробнее.
Меметика
Так как меметика предполагает манипуляции с памятью, действиями субъекта, то вот возможная реализация всей меметики в коде: Создаём прототип stack машины и базовый набор команд (мем-компонентов), мем-компоненты разделяем по природе: визуальные, слуховые, тактильные. В зависимости от природы меняются триггеры для срабатывания мем-агента, но пока это опустим. Сами мем агенты в билде реализуем через datum значение: делаем ему своё название по классификации, например: Мем-компонент Beta-251, бета класс компонента, 251 номер. Мем компоненты подвязываем под proc, который выполняет базовые операции, например: компонент для получения ссылки на объект, который взаимодействует с мем-компонентом, компонент для выполнения какого-то действия на объект (условно добавление в memory закона, как у импланта freedom тритора). Когда у нас есть переменные и операторы, мы можем сделать собственный обработчик для команд stack-машины, все команд stack-машины связываем с внутренними proc игрока, например прок на выполнение какого-то действия. Концепции может потребоваться доработка, но пока всё планируется реализовать примерно так.Примеры для лучшего понимания того, что будет делаться.
var/list/comps = list(...) // Глобальный список для всех компонентов
/datum/memetic/component
var/class // Класс компонента: допустим Delta, Charlie, Beta, Alpha
Классы нужны для разграничения более продвинутых компонентов.
var/num // Численное обозначение. Генерируется случайно, необходимо для различения компонентов при
исследовании.
// Пример прока для компонента
/datum/memetic/component/proc/foo(var/mob/living/carbon/human/H) // В зависимости от компонента input будет меняться
return H.some_variable
// Прок возвращает некоторое значение игрока, значение автоматически добавляется в стек
Для описание ситуации хорошо подойдёт бугурт:
"
РЕШИЛ ВЗЛОМАТЬ ПРЕПОДА
@
ПРЕПОД КОМПИЛИРУЕТ КОД У СЕБЯ В ГОЛОВЕ И ДОХОДИТ ДО ЧАСТИ С ПЕРЕПОЛНЕНИЕМ БУФЕРА
@
ПОЛУЧАЕШЬ ДОСТУП К АДРЕСАМ ПАМЯТИ ЕГО СПИННОГО МОЗГА
@
ТЕПЕРЬ ПРЕПОД [ДАННЫЕ УДАЛЕНЫ] ПРЯМО НА ЭКЗАМЕНЕ
"
Добавляем для всех human переменную хранящую меме-код, меме-код выполняем каждый тик.
Допустим хотим сделать мем-агент с такими свойствами: Если объект слышит [триггер-слово] выполнить действие cough
/mob/living/carbon/human/proc/get_heard(var/string)
Таким образом мы получаем код мем-агента, сам мем-агент будет хранить свой код и передавать его своим жертвам.
В рамках реализации меметики также планируется сделать возможность создавать свои мем-агенты. Принцип будет основан на костыле-языке memetico на котором будут писаться сами мем-агенты, тоже самое относится к вербальным мем-агентам (делаем возможным озвучивать мем-компоненты). Помимо этого нужно подготовить базу для защиты от меметического эффекта (языковой барьер - визуальный мем-агент может быть написан на определенном языке, антимеметический эффект - амнезиаки стирают из памяти human код мем-агента, т.е. убирают меметическое заражение.)
Естественно-научное направление
Естественно-научное направление предполагает добавление материалов, реагентов, структурных особенностей для всех объектов. Помимо этого необходимо создать инструменты для сбора материала исследований и обработки этого материала. - В качестве возможных инструментов сборки могут послужить обычные инструменты: ножницы, скальпель, пинцет и прочее. - В качестве машин для исследований: масс спектрометр, рентген аппарат, аппаратура для улавливания альфа, бета, гамма, нейтронного излучения, МРТ, анализаторы для структуры объекта, машины для изготовления новых материалов на основе ранее полученных. Химический отдел уже есть в РнД, поэтому добавляем уникальные реакции для разных веществ реагентов.Пример:
Есть SCP-999, с помощи ватки и пробирки мы получаем материал объекта. На материал оказываем разные воздействия, смотрим его структуру. Допустим при пропускание материала SCP999 через масс спектрометр мы получили в результатах много углерода, следовательно, делаем предположение о органической природе объекта. Материалы смешиваем с хим реактивом, допустим серной кислотой, получаем пепел и новое вещество. Вещество используем для изготовления материала, например при обработке стали мы получаем материал с большой упругостью. Материал отправляем в техническое направление: из него делают новый бронежилет, который лучше справляется с физическим уроном. Profit!
Как можно понять, это направление создаёт сырьё для разработки улучшений и позволяет иначе рассмотреть почти все SCP объекты.
Ксенобиология/Биология
Название направления может быть изменено, поэтому пока два названия. Направление специализируется на изучение свойств объектов с точки зрения биология. Для изучения реализуем базовый инструментарий: возможность собирать генетический материал у живых SCP, переносим механику генов и мутаций с ТГ, но добавляем уникальные мутации доступные только объектам, которые необходимо для начала извлечь, а потом восстановить и преобразовать для использования humanом. В вирусологии расширяем список симптомов и стадий. Переписываем 008 под нормальную вирусологию (вроде есть инфа, что 008 модифицировался самим фондом, поэтому имеет смысл перенести proc объекта в вирусологию). Также для разнообразия возможно добавить слаймов (почему бы и нет?), но поменять список экстрактов - сбалансировать/усилить. Для работы добавляем machine:Техническое направление
Направление для технических устройств и прочего. Получают материалы от других исследователей и пытаются из этого что-то сделать, вдобавок занимаются изучением поведения ИИ и разработок Андерсон Роботикс. По аналогии с обычным РнД создают улучшенный версии обычных инструментов (инженерка, мед блок), создают новые версии оружия (легендарная финка НКВД, виброклинок, полуавтоматическая гаусс-пушка), делают модификации брони (улучшенные параметры для разных видов урона), экзосьюты - заместо мехов делаем многофункциональные сьюты (встроенные модули для разных типов задач, экзосьюты делаем из разных материалов, что отражается на свойствах)Примеры:
Вот примерное описание того, что планируется реализовать в билде. Очень вероятно, что потребуются доработки, так как здесь идёт описание не столько кода, сколько геймдизайна нового РнД.
В план не включил ксеноархеологию, так как не уверен, что в ней есть нужда.