Skip to content

Commit

Permalink
Merge branch 'TauCetiStation:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
Oz1Es authored Dec 25, 2023
2 parents 2118679 + f96b7e1 commit 60fadc5
Show file tree
Hide file tree
Showing 1,153 changed files with 311,565 additions and 343,298 deletions.
37 changes: 37 additions & 0 deletions .github/CODEOWNERS.disabled
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
##
# Подробнее: https://docs.github.com/ru/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
#
# Вы должны быть частью команды гитхаб-организации, иначе гитхаб не сможет назначить вас на ревью.
# Так что запросите у мейнтейнеров инвайт в группу Collaborators, если необходимо.
# UPD: Гитхаб всё еще просит write права для Codeowners, так что сейчас будет работать только для мейнтейнеров
# https://github.com/orgs/community/discussions/23042
#
#
# Держите файлы и папки в алфавитном порядке (так, как они отсортированны в DreamMaker и taucetistation.dme).
#
# CODEOWNERS используются у нас ТОЛЬКО ДЛЯ УВЕДОМЛЕНИЙ, если вы хотите закрепить за собой обязательность
# ревью PR-а перед мержем - напишите об этом дополнительно в PR, желательно в первые сутки его открытия!
#
##

## Код ##
# /code/
/code/modules/client/preferences_savefile.dm @volas

## Конфиги ##
/config/ @volas

## Иконки ##
/icons/ sprites-department

## Карты ##
# Если вы хотите проверять все карты, раскоментируйте и добавьте себя:
# /maps/ @вы
/maps/testmap/testmap.dmm @volas

## TGUI ##
# /tgui/ @вы

## Общее ##
*.py @volas
*.sh @volas
48 changes: 48 additions & 0 deletions .github/COMPONENTOWNERS.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
##
# Почти CODEOWNERS, только работает лучше. Формат: https://github.com/dyladan/component-owners
# Реквестит ревью указанных людей/команд при изменениях в указанных файлах/папках. Названия команд начинаются с "/", пути от корневой папки.
#
# Вы должны быть частью команды гитхаб-организации, иначе гитхаб не сможет назначить вас на ревью.
# Так что запросите у мейнтейнеров инвайт в группу Collaborators, если необходимо. Или в другие подходящие группы.
#
# Держите файлы и папки в алфавитном порядке (так, как они отсортированны в DreamMaker и taucetistation.dme).
#
# CODEOWNERS используются у нас ТОЛЬКО ДЛЯ УВЕДОМЛЕНИЙ, если вы хотите закрепить за собой обязательность
# ревью PR-а перед мержем - напишите об этом дополнительно в PR, желательно в первые сутки его открытия!
#
##

components:
## Код ##

# /code/
code/modules/client/preferences_savefile.dm: volas

## Конфиги ##
config/: volas

## Иконки ##
icons/:
/sprites-department

## Карты ##
maps/boxstation/: /maps-department
#maps/delta/: Deahaka
#maps/falcon/: Tap0r
#maps/gamma/: AgRevol
#maps/prometheus/: Tap0r
#maps/stroechka/: Tap0r
maps/testmap/: volas

## TGUI ##
# tgui/: вы

## Общее ##
"*.py": volas
"*.sh": volas

.github/: /maintainers

ignored-authors:
- dependabot
- renovate-bot
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: "Сообщить о проблеме"
description: "Если что-то работает не так, как ожидалось."
labels: ["Bug"]
body:
- type: markdown
attributes:
value: "## Пожалуйста, не стирайте строчки, которые были автоматически созданы."

- type: textarea
id: description
validations:
required: true
attributes:
label: "Описание"
description: "Опишите одну проблему как можно подробнее"
value: |
#### Что должно было произойти
#### Что произошло на самом деле
- type: textarea
id: reproduction
attributes:
label: "Шаги воспроизведения"
description: "Если приемлемо, опишите шаги для воспроизведения проблемы"
placeholder: |
1. Найти автолат
2. Открыть его меню, кликнул ЛКМ
3. Получить лаги
- type: textarea
id: additional
attributes:
label: "Дополнительная информация:"
description: |
Вы можете добавьте скриншоты, чтобы помочь описать вашу проблему
**Подсказка**: Вы можете прикрепить изображения, щелкнув по области ниже для её выделения,
а затем перетащите в неё файлы
12 changes: 12 additions & 0 deletions .github/ISSUE_TEMPLATE/proposal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: "Оставить предложение"
title: "[Proposal] "
description: "Любые идеи."
labels: ["Proposal"]
body:
- type: textarea
id: description
validations:
required: true
attributes:
label: "Описание"
description: "Опишите идею"
6 changes: 4 additions & 2 deletions .github/workflows/ci_suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ on:
branches:
- master
env:
BYOND_MAJOR: 514
BYOND_MINOR: 1565
BYOND_MAJOR: 515
BYOND_MINOR: 1619
SPACEMAN_DMM_VERSION: suite-1.7.2
jobs:
DreamChecker:
Expand Down Expand Up @@ -56,6 +56,8 @@ jobs:
map_name: Box Station
- map_meta: gamma
map_name: Gamma Station
- map_meta: delta
map_name: Delta Station
- map_meta: falcon
map_name: Falcon Station
- map_meta: prometheus
Expand Down
27 changes: 27 additions & 0 deletions .github/workflows/compowners.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: 'Component Owners'
on:
# pull_request_target is suggested for projects where pull requests will be
# made from forked repositories. If pull_request is used in these cases,
# the github token will not have sufficient permission to update the PR.
pull_request_target:

permissions:
contents: read # to read changed files
issues: write # to read/write issue assignees
pull-requests: write # to read/write PR reviewers

jobs:
run_self:
runs-on: ubuntu-latest
name: Auto Assign Owners
steps:
- uses: volas/component-owners@main
with:
# default: .github/component_owners.yml
config-file: .github/COMPONENTOWNERS.yml
# default: ${{ github.token }}
repo-token: ${{ secrets.CODEOWNER_SECRET }}
# default: true
assign-owners: "false"
# default: true
request-owner-reviews: "true"
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
taucetistation.dmb
Thumbs.db
data/
cache/
cfg/
.vscode
**/MapFXDrawer/*.png
test_merge.txt
2 changes: 2 additions & 0 deletions SQL/ss13.sql
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ CREATE TABLE `erro_ban` (
`ckey` varchar(32) NOT NULL,
`computerid` varchar(32) NOT NULL,
`ip` varchar(32) NOT NULL,
`ingameage` varchar(32) NOT NULL DEFAULT '0',
`a_ckey` varchar(32) NOT NULL,
`a_computerid` varchar(32) NOT NULL,
`a_ip` varchar(32) NOT NULL,
Expand Down Expand Up @@ -187,6 +188,7 @@ CREATE TABLE `erro_messages` (
`adminckey` varchar(32) NOT NULL,
`text` varchar(2048) NOT NULL,
`timestamp` datetime NOT NULL,
`ingameage` varchar(32) NOT NULL DEFAULT '0',
`server_ip` int(10) unsigned NOT NULL,
`server_port` smallint(5) unsigned NOT NULL,
`round_id` int(11) unsigned NOT NULL,
Expand Down
12 changes: 12 additions & 0 deletions code/__DEFINES/DNA.dm
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,15 @@
#define DNA_UNIQUE_ENZYMES_LEN 32
// For later:
//#define DNA_SE_LENGTH 50 // Was STRUCDNASIZE, size 27. 15 new blocks added = 42, plus room to grow.

#define BLOOD_O_PLUS "O(I) Rh+"
#define BLOOD_O_MINUS "O(I) Rh-"

#define BLOOD_A_PLUS "A(II) Rh+"
#define BLOOD_A_MINUS "A(II) Rh-"

#define BLOOD_B_PLUS "B(III) Rh+"
#define BLOOD_B_MINUS "B(III) Rh-"

#define BLOOD_AB_PLUS "AB(IV) Rh+"
#define BLOOD_AB_MINUS "AB(IV) Rh-"
6 changes: 6 additions & 0 deletions code/__DEFINES/_planes_layers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,12 @@ What is the naming convention for planes or layers?

//---------- -----LIGHTING -------------
#define LIGHTING_PLANE 100
#define LIGHTING_EXPOSURE_PLANE 101 // Light sources "cones"
#define LIGHTING_LAMPS_SELFGLOW 102 // Light sources glow (lamps, doors overlay, etc.)
#define LIGHTING_LAMPS_PLANE 103 // Light sources themselves (lamps, screens, etc.)
#define LIGHTING_LAMPS_GLARE 104 // Light glare (optional setting)
#define LIGHTING_LAMPS_RENDER_TARGET "*LIGHTING_LAMPS_RENDER_TARGET"

#define ABOVE_LIGHTING_PLANE 120
#define ABOVE_LIGHTING_LAYER 1
#define RUNECHAT_LAYER 2
Expand Down
142 changes: 142 additions & 0 deletions code/__DEFINES/_translation.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
////////////////////////////////////////////////
// Падежи //
////////////////////////////////////////////////

#define NOMINATIVE_CASE 1 //delete when names get translated... or dont.
#define GENITIVE_CASE 2
#define DATIVE_CASE 3
#define ACCUSATIVE_CASE 4
#define ABLATIVE_CASE 5
#define PREPOSITIONAL_CASE 6

// Пример определения CASEs у объекта:
// /atom
// cases = list("атом", "атома", "атому", "атом", "атомом", "атоме")
//
// Пример использования:
// "... [CASE(atom, DATIVE_CASE)] ..."
// Если у объекта не определены cases, будет взят дефолтный name, который скорее всего на английском.

#define CASE(atom, case) (atom.cases && atom.cases[case] ? atom.cases[case] : atom.name)

////////////////////////////////////////////////
// Местоимения(ENG) //
////////////////////////////////////////////////

// В английском большинство ситуаций покрывается дефолтными бьендовскими макросами:
// https://www.byond.com/docs/ref/info.html#/DM/text/macros
// но дефолтные макросы контекстно зависимы от положения в строке и их не всегда достаточно

#define P_THEY(atom) atom.gender == MALE && "he" \
|| atom.gender == FEMALE && "she" \
|| atom.gender == NEUTER && "it" \
|| "they"

#define P_THEM(atom) atom.gender == MALE && "him" \
|| atom.gender == FEMALE && "her" \
|| "them"

#define P_THEIR(atom) atom.gender == MALE && "his" \
|| atom.gender == FEMALE && "her" \
|| "their"

////////////////////////////////////////////////
// Местоимения(RU) //
////////////////////////////////////////////////

// По большей части аналоги дефолтных бьендовских макросов, но для русского языка

// И Кто/что
// "Неудачно пошутив, [THEY_RU(src)] падает без признаков жизни"
#define THEY_RU(atom) atom.gender == MALE && "он" \
|| atom.gender == FEMALE && "она" \
|| atom.gender == NEUTER && "оно" \
|| "они"
// Р Кого/чего
// "У вас больше нет [THEIR_RU(src)]"
#define THEIR_RU(atom) atom.gender == MALE && "его" \
|| atom.gender == FEMALE && "её" \
|| atom.gender == NEUTER && "этого" \
|| "их"
// Д Кому/чему
// "Вы передали [TO_RU(src)] предмет"
#define TO_RU(atom) atom.gender == MALE && "ему" \
|| atom.gender == FEMALE && "ей" \
|| atom.gender == NEUTER && "этому" \
|| "им"
// Д К кому/к чему
// "По [TO2_RU(src)] сразу видно"
#define TO2_RU(atom) atom.gender == MALE && "нему" \
|| atom.gender == FEMALE && "ней" \
|| atom.gender == NEUTER && "этому" \
|| "ним"
// В Кого/что
// "Вы больше не видите [THEM_RU(src)]"
#define THEM_RU(atom) atom.gender == MALE && "его" \
|| atom.gender == FEMALE && "её" \
|| atom.gender == NEUTER && "это" \
|| "их"
// Т Кем/чем
// "Вы пытаетесь ударить [BY_RU(src)]"
#define BY_RU(atom) atom.gender == MALE && "им" \
|| atom.gender == FEMALE && "ею" \
|| atom.gender == NEUTER && "этим" \
|| "ими"
// П (В) ком/чём
// "Вы полностью уверены в [IN_RU(src)]"
#define IN_RU(atom) atom.gender == MALE && "нём" \
|| atom.gender == FEMALE && "ней" \
|| atom.gender == NEUTER && "этом" \
|| "них"
// П О ком/о чём
// "Вы всё время думаете [ABOUT_RU(src)]"
#define ABOUT_RU(atom) atom.gender == MALE && "о нём" \
|| atom.gender == FEMALE && "о ней" \
|| atom.gender == NEUTER && "об этом" \
|| "о них"
// Чьё
// "По неизвестной причине [MY_RU(src)] зрение ухудшается" // todo: имеется в виду [MY_RU(зрение)], тут и ниже - так себе примеры
#define MY_RU(atom) atom.gender == MALE && "мой" \
|| atom.gender == FEMALE && "моя" \
|| atom.gender == NEUTER && "моё" \
|| "мои"
// Чьё
// "Вы пытаетесь встать, но [YOURS_RU(src)] ноги не шевелятся"
#define YOURS_RU(atom) atom.gender == MALE && "ваш" \
|| atom.gender == FEMALE && "ваша" \
|| atom.gender == NEUTER && "ваше" \
|| "ваши"
// Который
// "К сожалению, [WHICH_RU(src)] органическое лезвие нельзя положить в сумку"
#define WHICH_RU(atom) atom.gender == MALE && "этот" \
|| atom.gender == FEMALE && "эта" \
|| atom.gender == NEUTER && "это" \
|| "эти"

////////////////////////////////////////////////
// Глагол //
////////////////////////////////////////////////

// Прошедшее время глагола
// "делал[VERB_RU(src)]"
#define VERB_RU(atom) atom.gender == MALE && "" \
|| atom.gender == FEMALE && "а" \
|| atom.gender == NEUTER && "о" \
|| "и"
// Прошедшее время возвратного глагола
// "отказал[VERB2_RU(src)] взять предмет"
#define VERB2_RU(atom) atom.gender == MALE && "ся" \
|| atom.gender == FEMALE && "ась" \
|| atom.gender == NEUTER && "ось" \
|| "ись"

////////////////////////////////////////////////
// Прочее //
////////////////////////////////////////////////

// Произвольное слово в вариации по родам
// "[vessel] [ANYMORPH(vessel, "полон", "полна", "полно", "полны")]"
#define ANYMORPH(atom, w_male, w_female, w_neuter, w_plural) atom.gender == MALE && w_male \
|| atom.gender == FEMALE && w_female \
|| atom.gender == NEUTER && w_neuter \
|| w_plural
2 changes: 1 addition & 1 deletion code/__DEFINES/admin.dm
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@

/atom/proc/Admin_Coordinates_Readable(area_name, admin_jump_ref)
var/turf/T = Safe_COORD_Location()
return T ? "[area_name ? "[get_area_name(T)] " : " "]([T.x],[T.y],[T.z])[admin_jump_ref ? " [ADMIN_JMP(T)]" : ""]" : "nonexistent location"
return T ? "[area_name ? "[get_area_name(T)] " : ""]([T.x],[T.y],[T.z])[admin_jump_ref ? " [ADMIN_JMP(T)]" : ""]" : "nonexistent location"

// +- tg placeholder
/atom/proc/Safe_COORD_Location()
Expand Down
Loading

0 comments on commit 60fadc5

Please sign in to comment.