generated from VLADIMIR/template
storytelling
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
package storytelling
|
||||
|
||||
type IStory interface {
|
||||
GetStory(scenario *Story, codes []string) *Story
|
||||
}
|
||||
|
||||
// История - это набор точек
|
||||
type Story struct {
|
||||
|
||||
// Список точек
|
||||
Places []*Place `json:"places"`
|
||||
}
|
||||
|
||||
// Точка - что-то куда можно сходить
|
||||
// Это может быть место - аптека, остановка, площадь...
|
||||
// Это может быть персонаж - пострадавший, продавец, полицейский...
|
||||
// Это может быть описание действия игрока - ответ на вопрос, реакция на выбитую дверь...
|
||||
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"`
|
||||
|
||||
// Двери к другим точкам - действия или диалоги, открывающие другие точки
|
||||
Doors []*Door `json:"doors"`
|
||||
|
||||
// Получаемые ключи - ключи используются для получения доступа к скрытым дверям
|
||||
Keys []*Key `json:"keys"`
|
||||
}
|
||||
|
||||
// Приложение - улика
|
||||
// Это может быть оружие, отпечатки, фотография...
|
||||
type Application struct {
|
||||
|
||||
// Название улики
|
||||
Name string `json:"name"`
|
||||
|
||||
// Картинка
|
||||
Image string `json:"image"`
|
||||
}
|
||||
|
||||
// Дверь - действие или диалог
|
||||
type Door struct {
|
||||
|
||||
// Код
|
||||
Code string `json:"code"`
|
||||
|
||||
// Название - заданный вопрос, проделанное действие...
|
||||
Name string `json:"name"`
|
||||
|
||||
// Некоторые двери изначально не доступны
|
||||
// Ключи требуемые для получения доступа к скрытым дверям
|
||||
// Если указаны ключи то дверь считается скрытой
|
||||
Keys []*Key `json:"keys"`
|
||||
}
|
||||
|
||||
// Аналог карт допуска в "Тайны Аркхема"
|
||||
type Key struct {
|
||||
|
||||
// Название
|
||||
Name string `json:"name"`
|
||||
}
|
||||
Reference in New Issue
Block a user