diff --git a/character.lua b/character.lua index 7b1b7cc..3e5b75a 100644 --- a/character.lua +++ b/character.lua @@ -14,6 +14,8 @@ local ATTACK_ROW = 3 local Character = {} Character.name = "" +---------- Animations ----- + --- мы должны определиться со спрайтшитами и подобным, всё что здесь написано лишь пример --- --- предполагается, что у всех будет одинаковое кол-во кадров в анимации и их скорость произведения @@ -28,11 +30,30 @@ Character.animationTable = { --- когда нужно сменить анимацию с idle на run например, меняем именно это поле Character.animation = Character.animationTable.idle +---------- Statistics ----- + Character.stats = {} -Character.stats.initiative = 0 +--- TODO: придумать формулу расчёта статов относительно уровня +Character.stats.level = 1 + +Character.stats.initiative = 10 +Character.stats.damage = 5 +Character.stats.defence = 0 +Character.stats.hp = 30 Character.player = {} +--- TODO: мнимая надежда на спеллмейкинг +--- +--- правда я абсолютно хз, как он будет смотреться +--- в контексте рогалика, но посмотрим +--- +--- мб это будет метаспеллмейкинг на овощах +Character.skills = {} + +--- а надо ли оно? +Character.class = "" + --- Обёртка над Character:Create CreateCharacter = Character.create @@ -45,8 +66,8 @@ CreateCharacter = Character.create --- Создаёт персонажа, которым будет управлять или игрок или компьютер --- @param name string --- @param imagePath string ---- @param initiative? integer -function Character:create(name, imagePath, initiative) +--- @param level? integer +function Character:create(name, imagePath, level) -- TODO: добавить asset_loader, где все необходимые ассеты будут грузиться в одном месте, -- а здесь мы добавляем ассет на загрузку в очередь local image = love.graphics.newImage(imagePath) @@ -58,10 +79,7 @@ function Character:create(name, imagePath, initiative) run = anim8.newAnimation(animationGrid(ANIMATION_SIZE, RUN_ROW), ANIMATION_SPEED), attack = anim8.newAnimation(animationGrid(ANIMATION_SIZE, ATTACK_ROW), ANIMATION_SPEED) }, - animation = self.animationTable.idle, - stats = { - initiative = initiative or 10 - } + animation = self.animationTable.idle } end diff --git a/faction.lua b/faction.lua index c1186a1..8c06fcd 100644 --- a/faction.lua +++ b/faction.lua @@ -1,5 +1,13 @@ -Faction = {} +local Faction = {} Faction.name = "" Faction.characters = {} Faction.style = {} +--- some sort of global variable :clown: +FactionList = {} + +function addFaction(name) + FactionList[name] = {} + +end +