starting to add data
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
{
|
||||
"Bastard Lunatic":{
|
||||
"stats":["constitution"],
|
||||
"tasks":[
|
||||
[6, "Reading the DSM"]
|
||||
]
|
||||
},
|
||||
"Battle-Felon":{
|
||||
"stats":["strength"]
|
||||
},
|
||||
"Birdrider":{
|
||||
"stats":["wisdom"],
|
||||
"tasks":[
|
||||
[10, "Birdwatching"]
|
||||
]
|
||||
},
|
||||
"Fighter/Organist":{
|
||||
"stats":["charisma","strength"]
|
||||
},
|
||||
"Hunter Strangler":{
|
||||
"stats":["dexterity","intelligence"],
|
||||
"tasks":[
|
||||
[10, "Hunting"]
|
||||
]
|
||||
},
|
||||
"Inner Mason":{
|
||||
"stats":["constitution"],
|
||||
"tasks":[
|
||||
[16, "Meditating"]
|
||||
]
|
||||
},
|
||||
"Lowling":{
|
||||
"stats":["wisdom"],
|
||||
"tasks":[
|
||||
"Hiding"
|
||||
]
|
||||
},
|
||||
"Mage Illusioner":{
|
||||
"stats":["intelligence","magic"]
|
||||
},
|
||||
"Mu-Fu Monk":{
|
||||
"stats":["dexterity"]
|
||||
},
|
||||
"Puma Burgular":{
|
||||
"stats":["dexterity"],
|
||||
"tasks":[
|
||||
[7, "Stalking"]
|
||||
]
|
||||
},
|
||||
"Robot Monk":{
|
||||
"stats":["strength"],
|
||||
"tasks":[
|
||||
[12, "Recharging"]
|
||||
]
|
||||
},
|
||||
"Runeloremaster":{
|
||||
"stats":["wisdom"],
|
||||
"tasks":[
|
||||
"Enthusiastically explaining the applications of runes on trains"
|
||||
]
|
||||
},
|
||||
"Shiv-Knight":{
|
||||
"stats":["dexterity"],
|
||||
"tasks":[
|
||||
"Restocking on shivs"
|
||||
]
|
||||
},
|
||||
"Slow Poisoner":{
|
||||
"stats":["constitution"]
|
||||
},
|
||||
"Tickle-Mimic":{
|
||||
"stats":["intelligence","wisdom"]
|
||||
},
|
||||
"Ur-Paladin":{
|
||||
"stats":["constitution","wisdom"]
|
||||
},
|
||||
"Vermineer":{
|
||||
"stats":["intelligence"],
|
||||
"tasks":[
|
||||
"Reading capitalist propaganda"
|
||||
]
|
||||
},
|
||||
"Voodoo Princess":{
|
||||
"stats":["charisma","intelligence"]
|
||||
}
|
||||
}
|
||||
+101
@@ -0,0 +1,101 @@
|
||||
{
|
||||
"Battle-Finch":{
|
||||
"stats":["dexterity","intelligence"],
|
||||
"tasks":[
|
||||
"Running from Birdrider"
|
||||
]
|
||||
},
|
||||
"Crested Dwarf":{
|
||||
"stats":["charisma"]
|
||||
},
|
||||
"Demicanadian":{
|
||||
"stats":["constitution"],
|
||||
"tasks":[
|
||||
[2, "Drinking maple syrup"]
|
||||
]
|
||||
},
|
||||
"Double Hobbit":{
|
||||
"stats":["strength"]
|
||||
},
|
||||
"Double Wookiee":{
|
||||
"stats":["strength"]
|
||||
},
|
||||
"Dung Elf":{
|
||||
"stats":["wisdom"]
|
||||
},
|
||||
"Eel Man":{
|
||||
"stats":["dexterity"]
|
||||
},
|
||||
"Enchanted Motorcycle":{
|
||||
"stats":["magic"],
|
||||
"tasks":[
|
||||
[8, "Changing oil"]
|
||||
]
|
||||
},
|
||||
"Gyrognome":{
|
||||
"stats":["dexterity"],
|
||||
"tasks":[
|
||||
"Spinning"
|
||||
]
|
||||
},
|
||||
"Half Halfling":{
|
||||
"stats":["dexterity"],
|
||||
"tasks":[
|
||||
"Protesting how someone renamed their race and then copyrighted it"
|
||||
]
|
||||
},
|
||||
"Half Man":{
|
||||
"stats":["charisma"],
|
||||
"tasks":[
|
||||
"Searching for their other half"
|
||||
]
|
||||
},
|
||||
"Half Orc":{
|
||||
"stats":["health"]
|
||||
},
|
||||
"Hob-Nobbit":{
|
||||
"stats":["charisma","dexterity"],
|
||||
"tasks":[
|
||||
"Protesting how asburd it is for a dead human to own the concept of a race"
|
||||
]
|
||||
},
|
||||
"Land Squid":{
|
||||
"stats":["health","strength"],
|
||||
"tasks":[
|
||||
"Drinking plenty of water"
|
||||
]
|
||||
},
|
||||
"Lesser Dwarf":{
|
||||
"stats":["constitution"]
|
||||
},
|
||||
"Low Elf":{
|
||||
"stats":["constitution"]
|
||||
},
|
||||
"Panda Man":{
|
||||
"stats":["constitution","strength"]
|
||||
},
|
||||
"Skraeling":{
|
||||
"stats":["wisdom"],
|
||||
"tasks":[
|
||||
[10, "Fighting for native peoples' rights"]
|
||||
]
|
||||
},
|
||||
"Talking Pony":{
|
||||
"stats":["intelligence","magic"],
|
||||
"tasks":[
|
||||
[4, "Singing their theme song"]
|
||||
]
|
||||
},
|
||||
"Trans-Kobold":{
|
||||
"stats":["wisdom"],
|
||||
"tasks":[
|
||||
[10, "#TransRights"]
|
||||
]
|
||||
},
|
||||
"Will o' the Wisp":{
|
||||
"stats":["wisdom"],
|
||||
"tasks":[
|
||||
"Looking for lamp oil"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
local constants = require "data.constants"
|
||||
local utility = require "lib.utility"
|
||||
|
||||
local classes = utility.load_data("classes.json")
|
||||
|
||||
-- TODO abstract out since this is shared between classes and races
|
||||
for name, data in pairs(classes) do
|
||||
if type(data.tasks) == "string" then
|
||||
data.tasks = { data.tasks }
|
||||
elseif not data.tasks then
|
||||
data.tasks = {}
|
||||
end
|
||||
|
||||
local tasks = data.tasks
|
||||
for index, task in ipairs(tasks) do
|
||||
if type(task) == "string" then
|
||||
local time = #task * constants.reading_time_multiplier
|
||||
-- TODO decide on a random amount of extra time to add
|
||||
tasks[index] = {time, time, task}
|
||||
if #task == 1 then
|
||||
local time = #task[1] * constants.reading_time_multiplier
|
||||
-- TODO decide on a random amount of extra time to add
|
||||
tasks[index] = {time, time, task[1]}
|
||||
elseif #task == 2 then
|
||||
local time = tasks[1]
|
||||
-- TODO decide on a random amount of extra time to add
|
||||
tasks[index] = {time, time, task[2]}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return classes
|
||||
@@ -0,0 +1,4 @@
|
||||
return {
|
||||
progress_bar_height = 30,
|
||||
reading_time_multiplier = 1 / 12,
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
local constants = require "data.constants"
|
||||
local utility = require "lib.utility"
|
||||
|
||||
local races = utility.load_data("races.json")
|
||||
|
||||
-- TODO abstract out since this is shared between classes and races
|
||||
for name, data in pairs(races) do
|
||||
if type(data.tasks) == "string" then
|
||||
data.tasks = { data.tasks }
|
||||
elseif not data.tasks then
|
||||
data.tasks = {}
|
||||
end
|
||||
|
||||
local tasks = data.tasks
|
||||
for index, task in ipairs(tasks) do
|
||||
if type(task) == "string" then
|
||||
local time = #task * constants.reading_time_multiplier
|
||||
-- TODO decide on a random amount of extra time to add
|
||||
tasks[index] = {time, time, task}
|
||||
if #task == 1 then
|
||||
local time = #task[1] * constants.reading_time_multiplier
|
||||
-- TODO decide on a random amount of extra time to add
|
||||
tasks[index] = {time, time, task[1]}
|
||||
elseif #task == 2 then
|
||||
local time = tasks[1]
|
||||
-- TODO decide on a random amount of extra time to add
|
||||
tasks[index] = {time, time, task[2]}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return races
|
||||
+20
-16
@@ -10,20 +10,20 @@ log{
|
||||
testing = true,
|
||||
}
|
||||
|
||||
-- local json_load_test = utility.load_data("test.json")
|
||||
-- utility.print_table(json_load_test)
|
||||
local constants = requrie "data.constants"
|
||||
local classes = require "data.classes"
|
||||
local races = require "data.races"
|
||||
|
||||
-- test progress_bar
|
||||
local window_width, window_height = love.graphics.getDimensions()
|
||||
local progress_bar_height = 30 -- TODO should not be hardcoded
|
||||
local test_bar = progress_bar(0, window_height - progress_bar_height * 2, window_width, progress_bar_height)
|
||||
local test_bar = progress_bar(0, window_height - constants.progress_bar_height * 2, window_width, constants.progress_bar_height)
|
||||
|
||||
local test_message = "This is a test text string of significant length. It exists to test printing over a progress bar."
|
||||
log("testing", #test_message)
|
||||
test_bar:set_text(test_message)
|
||||
-- test:set_progress(math.random())
|
||||
|
||||
local test_timer = timer.every(#test_message / 12, function() log("testing", "The timer completed.") end) -- TODO consider making timer not need a function; cause I don't here!
|
||||
local test_timer = timer.every(#test_message * constants.reading_time_multiplier, function() log("testing", "The timer completed.") end) -- TODO consider making timer not need a function; cause I don't here!
|
||||
|
||||
local task_queue
|
||||
task_queue = {
|
||||
@@ -32,34 +32,38 @@ task_queue = {
|
||||
end,
|
||||
}
|
||||
|
||||
local total_pages = 500
|
||||
local current_page = 0
|
||||
local pages_progress_bar = progress_bar(0, window_height - progress_bar_height, window_width, progress_bar_height, total_pages / current_page)
|
||||
local update_pages_progress_bar = function(increment)
|
||||
current_page = current_page + (increment or 0)
|
||||
pages_progress_bar:set_progress(current_page / total_pages)
|
||||
pages_progress_bar:set_text("Reading: Page " .. current_page .. "/" .. total_pages .. " (" .. math.floor(current_page / total_pages * 100 * 10) / 10 .. "%)")
|
||||
|
||||
|
||||
local book = utility.load_data("book.json")
|
||||
local book_progress = progress_bar(0, window_height - constants.progress_bar_height, window_width, constants.progress_bar_height)
|
||||
local update_book_progress = function(increment)
|
||||
book.current_page = book.current_page + (increment or 0)
|
||||
book_progress:set_progress(book.current_page / book.total_pages)
|
||||
book_progress:set_text("Reading: Page " .. book.current_page .. "/" .. book.total_pages .. " (" .. math.floor(book.current_page / book.total_pages * 100 * 10) / 10 .. "%)")
|
||||
end
|
||||
update_pages_progress_bar()
|
||||
update_book_progress()
|
||||
|
||||
love.update = function(dt)
|
||||
lovebird.update()
|
||||
timer.update(dt)
|
||||
|
||||
test_bar:set_progress(test_timer.run_time / test_timer:get_interval())
|
||||
end
|
||||
|
||||
love.draw = function()
|
||||
test_bar:draw()
|
||||
pages_progress_bar:draw()
|
||||
|
||||
book_progress:draw()
|
||||
end
|
||||
|
||||
love.keypressed = function(key)
|
||||
if key == "escape" then
|
||||
-- TODO save any remaining log
|
||||
utility.save_data(book)
|
||||
love.event.quit()
|
||||
elseif key == "left" then
|
||||
update_pages_progress_bar(-1)
|
||||
update_book_progress(-1)
|
||||
elseif key == "right" then
|
||||
update_pages_progress_bar(1)
|
||||
update_book_progress(1)
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user