Fantasy town in Russian + better check script

This commit is contained in:
Alexander Yakovlev 2018-09-10 22:22:57 +07:00
parent dee202335c
commit f89ebf581a
11 changed files with 173 additions and 15 deletions

View File

@ -3,9 +3,18 @@
# Ignores tags!!! The assessment could be above real value.
CSON = require 'cson'
glob = require 'glob'
glob = require('glob-fs')({
builtins: false
})
# params
# Точки старта
start = [
"description"
"loctitle"
]
# end params
distribution = {}
template = (phrase) ->
if phrase == undefined or phrase == ''
return []
@ -46,10 +55,14 @@ parseGroup = (group) ->
for groupdata in spec[filename].groups
parseGroup(groupdata)
filedir = 'game/procgen'
languages = glob.sync(filedir)
filedir = './game/procgen/*'
languages = glob.readdirSync(filedir)
for language in languages
files = glob.sync(language+'/*.cson')
console.log language
console.log '---------------'
files = glob.readdirSync(language+'/*.cson')
# unset first element, it's current folder
files.shift()
spec = {}
for file in files
data = CSON.parseCSONFile(file)
@ -60,15 +73,20 @@ for language in languages
tags: [],
phrases: data.phrases
})
data.phrases = null
delete data.phrases
key = file.substr(0, file.lastIndexOf('.')) || file
key = key.replace(filedir, '')
spec[key] = data
if spec.game?
for group in spec.game.groups
parseGroup(group)
for startPoint in start
start_file = language+'/'+startPoint
distribution = {}
for filename, value of distribution
distribution[filename] = Math.round(value * 1000) / 1000
console.log distribution
if spec[start_file]?
for group in spec[start_file].groups
parseGroup(group)
for filename, value of distribution
distribution[filename] = Math.round(value * 1000) / 1000
console.log startPoint
console.log distribution

View File

@ -0,0 +1,7 @@
# Названия пивнушек
phrases: [
"Брыкастая Лошадь"
"Пьяная Кошка"
"Добрый Ктулху"
"Щедрый путник"
]

View File

@ -0,0 +1,6 @@
# Названия бань
phrases: [
"Чистая душа"
"Мокрый мех"
"Мыло!"
]

View File

@ -1,4 +1,9 @@
phrases: [
"[:adjective] [:adjective]"
"[:adjective]"
groups: [
tags: [
['type', 'square']
]
phrases: [
"[:adjective] [:adjective]"
"[:adjective]"
]
]

View File

@ -0,0 +1,27 @@
# Название наружней локации
groups: [
tags: [
['type', 'square']
]
phrases: [
"Площадь [:honor_title]"
]
,
tags: [
['type', 'fountain']
]
phrases: [
# нам важно, что это фонтан, но дальше не уточняем
"Фонтан"
]
,
tags: [
['type', 'street']
]
phrases: [
# нам важно, что это улица, но не важно, какого типа
"Улица [:honor_title]"
"Переулок [:honor_title]"
"Поворот [:honor_title]"
]
]

View File

@ -0,0 +1,6 @@
# Названия гильдий
phrases: [
"магов"
"торговцев"
"воинов"
]

View File

@ -0,0 +1,11 @@
# Названия улиц и площадей
phrases: [
"имени Древнего Ужаса"
"Ленина" # в любом городе есть улица Ленина. В ЛЮБОМ.
"Убийцы Драконов"
"Матери Драконов"
"Дяди Драконов"
"Того, Чего Не Может Быть"
"Того, Кто Не Должен Быть Помянут"
"Проклятой Крысы"
]

View File

@ -0,0 +1,46 @@
# Название внутренней локации. Мы стоим внутри строения.
groups: [
tags: [
['type', 'tavern']
]
phrases: [
"Таверна «[:bar_title]»"
"Бар «[:bar_title]»"
]
,
tags: [
['type', 'bath']
]
phrases: [
"Баня «[:bath_title]»"
"Сауна «[:bath_title]»"
]
,
tags: [
['type', 'guild']
]
phrases: [
"Гильдия [:guild_title]"
]
,
tags: [
['type', 'hospital']
]
phrases: [
"Госпиталь [:saint_title]"
]
,
tags: [
['type', 'workshop']
]
phrases: [
"Мастерская [:workshop_title]"
]
,
tags: [
['type', 'chapel']
]
phrases: [
"Часовня [:saint_title]"
]
]

View File

@ -0,0 +1,17 @@
# Название локации
groups: [
# Общий тип локации: наружная
tags: [
['position', 'exterior']
]
phrases: [
"[:exterior_title]"
]
,
tags: [
['position', 'interior']
]
phrases: [
"[:interior_title]"
]
]

View File

@ -0,0 +1,8 @@
# Названия часовен и госпиталей
phrases: [
"святого Георгия"
"святого Урука"
"святой Марии"
"святого Перуна"
"Того, Кто Не Должен Быть Помянут"
]

View File

@ -0,0 +1,7 @@
# Названия ремесленных и мастерских
phrases: [
"кожевника"
"кузнеца"
"гробовщика"
"алхимика"
]