1
0
Fork 0
mirror of https://gitlab.com/Oreolek/duel.git synced 2024-06-23 18:40:54 +03:00

Параметры персонажа, лист персонажа

This commit is contained in:
Alexander Yakovlev 2017-03-15 17:31:30 +07:00
parent df7bc9725c
commit 134181ed73
3 changed files with 61 additions and 4 deletions

View file

@ -63,7 +63,7 @@ dlg {
'Кто вы?',
function()
char.knows_kef = true
return 'Я — программируемый секретарь КЕ-2167Ф. Можно Кеф для краткости.'
return 'Я — программируемый секретарь КЕ-2469Ф. Можно Кеф для краткости.'
end,
};
{
@ -80,6 +80,7 @@ dlg {
end,
'Что означает надпись «добро»? Чем вы занимаетесь как группа?',
function()
changeop('reputation', 1)
char.knows_robots = true
return [[Мы занимаемся добром. Мы действуем на пользу общества.]]
end

View file

@ -8,6 +8,15 @@ init = function ()
return false
end
char.quests = {}
char.wounds = 0
char.actions = 50
char.reputation = 50
place(menu {
nam = "Персонаж",
menu = function()
walk('character')
end
}, me())
place(menu {
nam = "Карта",
menu = function()
@ -123,6 +132,18 @@ rndalt = function(yes, no)
end
return no
end
gendered = function(he, she, it, they)
if char.gender == 'she' then
return she
end
if char.gender == 'he' then
return he
end
if char.gender == 'they' then
return they
end
return it
end
official = function()
if char.gender == 'she' then
return 'уважаемая'
@ -135,3 +156,20 @@ official = function()
end
return 'уважаемые'
end
opposed = function(value)
local retval = '['
for i=1,10,1 do
retval = retval .. '='
if math.floor(value/10) == i then
retval = retval .. '*'
end
end
retval = retval ..']'
return retval
end
changeop = function(name, delta)
rawset(char, name, fairadd(rawget(char, name), delta))
end
fairadd = function(value, add)
return Math.floor(value + (100-value)*(add/100))
end

24
ui.lua
View file

@ -1,5 +1,6 @@
obj {
nam = 'back',
dsc = function() return fmt.c("{Назад}") end,
act = function()
return walkout()
end
@ -32,9 +33,7 @@ room {
return map
end,
decor = [[
Вы сверяетесь с картой.^^
{back|Назад}
Вы сверяетесь с картой.
]],
obj = {'back'}
}
@ -122,3 +121,22 @@ dlg {
};
}}
}
room {
nam = 'character',
disp = 'Персонаж',
hideinv = true,
decor = function()
return [[Обращение: ]]..fmt.tab('20%')..pronoun_3()..
[[^Действия: ]]..fmt.tab('20%')..
'Оригинальность'..fmt.tab('40%')..opposed(char.actions)..' Традиционность'..
fmt.tab('80%')..char.actions..'%'..
[[^Репутация: ]]..fmt.tab('20%')..
gendered('Нечестивец', 'Нечестивая', 'Нечестивое', 'Нечестивые')
..fmt.tab('40%')..opposed(char.reputation)..' '..
gendered('Святой', 'Святая', 'Святое', 'Святые')..
fmt.tab('80%')..char.reputation..'%'..
[[^Раны: ]]..fmt.tab('20%')..char.wounds..[[ (при трёх ранах ]]..plural('персонаж умрёт', 'персонажи умрут')..')^'
end,
obj = {'back'}
}