This commit is contained in:
2026-10-01 16:42:39 +07:00
parent 5638349623
commit ee15d149bd
31 changed files with 37 additions and 88 deletions
@@ -8,13 +8,11 @@ type IStory interface {
type Story struct {
Background string `json:"background,omitempty"`
// Введение - то, что игрок получает в начале игры
Introduction *Introduction `json:"introduction,omitempty"`
// Закрывашка доступна в редакторе сценария, игрокам не передаётся.
Conclusion *Conclusion `json:"conclusion,omitempty"`
// Список точек
Places []*Place `json:"places"`
// Вопросы дела - список вопросов, на которые команда должна ответить
@@ -24,11 +22,8 @@ type Story struct {
// Вопрос дела - вопрос, который автор сценария добавляет вместе с
// правильным ответом; команда отвечает на вопросы в конце игры
type Question struct {
// Код - идентификатор вопроса, используется при отправке ответов
Code string `json:"code"`
// Текст вопроса
Text string `json:"text"`
// Правильный ответ - виден только автору и организаторам,
@@ -44,11 +39,8 @@ type Conclusion struct {
// Введение - текст и аудио, которые игрок получает в начале игры.
type Introduction struct {
// Текст введения
Text string `json:"text"`
// Аудио введения
Audio string `json:"audio,omitempty"`
}
@@ -57,23 +49,17 @@ type Introduction struct {
// Это может быть персонаж - пострадавший, продавец, полицейский...
// Это может быть описание действия игрока - ответ на вопрос, реакция на выбитую дверь...
type Place struct {
// Код - то что вбивает игрок
Code string `json:"code"`
// Название места, имя персонажа, заданный игроком вопрос...
Name string `json:"name"`
// Текст - получаемая текстовая информация
Text string `json:"text"`
// Картинка - получаемая визуальная информация
Image string `json:"image"`
// Признак скрытой карточки - некоторые места изначально не доступны
Hidden bool `json:"hidden"`
// Приложения - получаемые улики
Applications []*Application `json:"applications,omitempty"`
// Двери к другим точкам - действия или диалоги, открывающие другие точки
@@ -86,11 +72,8 @@ type Place struct {
// Приложение - улика
// Это может быть оружие, отпечатки, фотография...
type Application struct {
// Название улики
Name string `json:"name"`
// Картинка
Image string `json:"image"`
// Тип файла улики: image | pdf | audio.
@@ -99,11 +82,8 @@ type Application struct {
// Дверь - действие или диалог
type Door struct {
// Код
Code string `json:"code"`
// Название - заданный вопрос, проделанное действие...
Name string `json:"name"`
// Некоторые двери изначально не доступны
@@ -114,7 +94,5 @@ type Door struct {
// Аналог карт допуска в "Тайны Аркхема"
type Key struct {
// Название
Name string `json:"name"`
}