diff --git a/.github/wiki/MAP_LIGHT.md b/.github/wiki/MAP_LIGHT.md new file mode 100644 index 000000000000..257b32fca9e5 --- /dev/null +++ b/.github/wiki/MAP_LIGHT.md @@ -0,0 +1,22 @@ +# Smart Light + +Умный свет - система цветного света для лампочек на станции, пресеты и моды позволяют настроить индивидуальное освещение для вашей карты. + +### Как добавить новый набор-пресет для карты: + +* Добавить новый ``/datum/smartlight_preset/вашеимя`` в [``/code/datums/lighting/smartlight_presets.dm``](/code/datums/lighting/smartlight_presets.dm) со своими настройками и уникальным ``.name`` +* Добавить в json конфига карты параметр ``smartlight_preset`` с ``.name`` нового пресета. Конфиг тестовой карты как пример. + +### Как добавить новый набор-пресет для зоны: +* Добавить новый ``/datum/smartlight_preset/вашеимя`` в [``/code/datums/lighting/smartlight_presets.dm``](/code/datums/lighting/smartlight_presets.dm) со своими настройками и уникальным ``.name`` +* На карте прописать нужному APC в параметры ``custom_smartlight_preset`` с ``.name`` нового пресета. APC бара на боксе как пример. + +### Как добавить новый световой мод: +* Смотреть [``/code/datums/lighting/light_modes.dm``](/code/datums/lighting/light_modes.dm), добавить новый datum. Поэкспериментировать с параметрами для света можно дебаг-вербом "Add Smartlight Preset". + * Рекомендую для ярких цветов уменьшать рейндж или силу, иначе оно начинает выглядеть как скучный цвето-фильтр на весь экран. +* Опционально - добавить новый тип ``/obj/item/weapon/disk/smartlight_programm`` в ``/code/game/machinery/computer/smartlight_console.dm``, добавить в карго заказы по подобию ``/datum/supply_pack/smartlight_standart``. + +### Как добавить новые уникальные лампочки: +* Рекомендуется: добавить новый тип ``/obj/item/weapon/light/*`` со своим световым модом и прочими настройками, и соответствующую ему лампу ``/obj/machinery/light/*``. +* Старый вариант: в параметрах лампы (любой ``/obj/machinery/light/*``) на карте прописать параметры ``force_override_color``, ``force_override_power``, ``force_override_range``. *Не рекомендуется, потому что хардкод и игнорирует параметры вставленной лампочки.* + diff --git a/README.md b/README.md index a0729929f646..f7ed498a9913 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ - [F.A.Q. по работе с картой](/.github/wiki/WORK_WITH_MAP.md) - [Вводный курс (форум)](https://forum.taucetistation.org/t/gajd-na-maping-i-kak-etim-voobshhe-zanimatsya/32439) - [Добавление своей станции](/.github/wiki/HOW_ADD_STATION.md) + - [Работа со светом](/.github/wiki/MAP_LIGHT.md) * **Звуки:** - [Общий гайд по работе со звуками в игре (wiki)](https://wiki.taucetistation.org/Soundmaking) * **Спрайты:** diff --git a/code/modules/lighting/lamps/light_modes.dm b/code/datums/lighting/light_modes.dm similarity index 100% rename from code/modules/lighting/lamps/light_modes.dm rename to code/datums/lighting/light_modes.dm diff --git a/code/modules/smartlight/smartlight_presets.dm b/code/datums/lighting/smartlight_presets.dm similarity index 81% rename from code/modules/smartlight/smartlight_presets.dm rename to code/datums/lighting/smartlight_presets.dm index 51fa17b6b045..20e8a3168590 100644 --- a/code/modules/smartlight/smartlight_presets.dm +++ b/code/datums/lighting/smartlight_presets.dm @@ -162,38 +162,38 @@ var/global/list/smartlight_presets available_modes = list(/datum/light_mode/cargo) /datum/smartlight_preset/k3000 - name = "default 3000k" - default_mode = /datum/light_mode/k3000 - no_nightshift_mode = TRUE - available_modes = list(/datum/light_mode/k3000) + name = "default 3000k" + default_mode = /datum/light_mode/k3000 + no_nightshift_mode = TRUE + available_modes = list(/datum/light_mode/k3000) /datum/smartlight_preset/k4000 - name = "default 4000k" - default_mode = /datum/light_mode/k4000 - no_nightshift_mode = TRUE - available_modes = list(/datum/light_mode/k4000) + name = "default 4000k" + default_mode = /datum/light_mode/k4000 + no_nightshift_mode = TRUE + available_modes = list(/datum/light_mode/k4000) /datum/smartlight_preset/k5000 - name = "default 5000k" - default_mode = /datum/light_mode/k5000 - no_nightshift_mode = TRUE - available_modes = list(/datum/light_mode/k5000) + name = "default 5000k" + default_mode = /datum/light_mode/k5000 + no_nightshift_mode = TRUE + available_modes = list(/datum/light_mode/k5000) /datum/smartlight_preset/k6000 - name = "default 6000k" - no_nightshift_mode = TRUE - default_mode = /datum/light_mode/k6000 - no_nightshift_mode = TRUE - available_modes = list(/datum/light_mode/k6000) + name = "default 6000k" + no_nightshift_mode = TRUE + default_mode = /datum/light_mode/k6000 + no_nightshift_mode = TRUE + available_modes = list(/datum/light_mode/k6000) /datum/smartlight_preset/soft - name = "soft" - default_mode = /datum/light_mode/soft - no_nightshift_mode = TRUE - available_modes = list(/datum/light_mode/soft) + name = "soft" + default_mode = /datum/light_mode/soft + no_nightshift_mode = TRUE + available_modes = list(/datum/light_mode/soft) /datum/smartlight_preset/hard - name = "hard" - default_mode = /datum/light_mode/hard - no_nightshift_mode = TRUE - available_modes = list(/datum/light_mode/hard) + name = "hard" + default_mode = /datum/light_mode/hard + no_nightshift_mode = TRUE + available_modes = list(/datum/light_mode/hard) diff --git a/taucetistation.dme b/taucetistation.dme index c24f518ebf26..329974960e42 100644 --- a/taucetistation.dme +++ b/taucetistation.dme @@ -403,6 +403,8 @@ #include "code\datums\keybinding\mob.dm" #include "code\datums\keybinding\movement.dm" #include "code\datums\keybinding\robot.dm" +#include "code\datums\lighting\light_modes.dm" +#include "code\datums\lighting\smartlight_presets.dm" #include "code\datums\modifiable_value\_modifiable_value.dm" #include "code\datums\mood_events\_mood_event.dm" #include "code\datums\mood_events\antags_events.dm" @@ -1750,7 +1752,6 @@ #include "code\modules\lighting\lighting_object.dm" #include "code\modules\lighting\lighting_source.dm" #include "code\modules\lighting\lighting_turf.dm" -#include "code\modules\lighting\lamps\light_modes.dm" #include "code\modules\liquid\splash_simulation.dm" #include "code\modules\locations\centcomm\displays.dm" #include "code\modules\locations\centcomm\monorail.dm" @@ -2427,7 +2428,6 @@ #include "code\modules\skills\skillsets\roles.dm" #include "code\modules\skills\skillsets\science.dm" #include "code\modules\skills\skillsets\security.dm" -#include "code\modules\smartlight\smartlight_presets.dm" #include "code\modules\sports\pbag.dm" #include "code\modules\sports\PedalGen.dm" #include "code\modules\sports\wrestler.dm"