Compare commits
No commits in common. "ae89979c8031f710686d83da55628f1ee271a900" and "5be98ee17507f64bb1f8c78730813b659b3ed41a" have entirely different histories.
ae89979c80
...
5be98ee175
14 changed files with 21 additions and 111 deletions
|
@ -38,10 +38,6 @@ function BeastFile:loadMixin(mixin)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function BeastFile:forceName(name)
|
|
||||||
self.datas:forceName(name)
|
|
||||||
end
|
|
||||||
|
|
||||||
function BeastFile:prepareJson(simplercreatures, creatures, parent)
|
function BeastFile:prepareJson(simplercreatures, creatures, parent)
|
||||||
assert(simplercreatures ~= nil)
|
assert(simplercreatures ~= nil)
|
||||||
assert(creatures ~= nil)
|
assert(creatures ~= nil)
|
||||||
|
|
|
@ -67,8 +67,7 @@ function DataList.getHolder(key, value)
|
||||||
end
|
end
|
||||||
|
|
||||||
function DataList:new(forceLevel)
|
function DataList:new(forceLevel)
|
||||||
self.forcedLevel = forceLevel
|
self.forceLevel = forceLevel
|
||||||
self.forcedName = nil
|
|
||||||
self.list = {}
|
self.list = {}
|
||||||
self.holders = {}
|
self.holders = {}
|
||||||
self.reducedList = {}
|
self.reducedList = {}
|
||||||
|
@ -84,10 +83,6 @@ function DataList:addLine(line)
|
||||||
table.insert(self.list, RawData.fromLine(line))
|
table.insert(self.list, RawData.fromLine(line))
|
||||||
end
|
end
|
||||||
|
|
||||||
function DataList:forceName(name)
|
|
||||||
self.forcedName = name
|
|
||||||
end
|
|
||||||
|
|
||||||
function DataList:reduce()
|
function DataList:reduce()
|
||||||
local level = 0
|
local level = 0
|
||||||
local mode = "creature"
|
local mode = "creature"
|
||||||
|
@ -101,8 +96,8 @@ function DataList:reduce()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
if (self.forcedLevel ~= nil) then
|
if (self.forceLevel ~= nil) then
|
||||||
level = self.forcedLevel
|
level = self.forceLevel
|
||||||
end
|
end
|
||||||
|
|
||||||
for _, rawdata in ipairs(self.list) do
|
for _, rawdata in ipairs(self.list) do
|
||||||
|
@ -116,12 +111,8 @@ function DataList:reduce()
|
||||||
self:addToReducedList(key, holder:reduce(level, mode))
|
self:addToReducedList(key, holder:reduce(level, mode))
|
||||||
end
|
end
|
||||||
|
|
||||||
if (self.forcedLevel ~= nil) then
|
if (self.forceLevel ~= nil) then
|
||||||
self.reducedList["level"] = self.forcedLevel
|
self.reducedList["level"] = self.forceLevel
|
||||||
end
|
|
||||||
|
|
||||||
if (self.forcedName ~= nil) then
|
|
||||||
self.reducedList["name"] = self.forcedName
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
local FolderLoader = Object:extend()
|
local FolderLoader = Object:extend()
|
||||||
local BeastFile = require "classes.beastfile"
|
local BeastFile = require "classes.beastfile"
|
||||||
local GroupFile = require "classes.groupfile"
|
|
||||||
|
|
||||||
function FolderLoader.getAllDatas(value, bestiaires, creatures)
|
function FolderLoader.getAllDatas(value, bestiaires, creatures)
|
||||||
local folderLoader = FolderLoader(value)
|
local folderLoader = FolderLoader(value)
|
||||||
|
@ -22,8 +21,6 @@ function FolderLoader:new(value)
|
||||||
local file = utils.split(filename, ".", true)
|
local file = utils.split(filename, ".", true)
|
||||||
if (file[2] == "beast") then
|
if (file[2] == "beast") then
|
||||||
table.insert(self.files, BeastFile(self.folder, filename))
|
table.insert(self.files, BeastFile(self.folder, filename))
|
||||||
elseif (file[2] == "group") then
|
|
||||||
table.insert(self.files, GroupFile(self.folder, filename))
|
|
||||||
else
|
else
|
||||||
print("[WARNING] Unknown extension " .. file[2] .. " for " .. filename)
|
print("[WARNING] Unknown extension " .. file[2] .. " for " .. filename)
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,64 +0,0 @@
|
||||||
local GroupFile = Object:extend()
|
|
||||||
local BeastFile = require "classes.beastfile"
|
|
||||||
|
|
||||||
local parseFile = require "libs.filereader"
|
|
||||||
|
|
||||||
function GroupFile:new(folder, name, forceLevel)
|
|
||||||
self.filepath = folder .. "/" .. name
|
|
||||||
print("Loading " .. self.filepath)
|
|
||||||
self.datas = {}
|
|
||||||
|
|
||||||
self:readLines()
|
|
||||||
end
|
|
||||||
|
|
||||||
function GroupFile:readLines()
|
|
||||||
self:readAllLines(self.filepath)
|
|
||||||
end
|
|
||||||
|
|
||||||
function GroupFile:readAllLines(path)
|
|
||||||
parseFile(path, function (line) self:addLine(line) end)
|
|
||||||
end
|
|
||||||
|
|
||||||
function GroupFile:addLine(line)
|
|
||||||
if (utils.startswith(line, "beast;") or utils.startswith(line, "beasts;")) then
|
|
||||||
local datas = utils.split(line, ";", true)
|
|
||||||
self:addBeast(datas[2], datas[3], datas[4], self:getMixins(datas))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function GroupFile:getMixins(datas)
|
|
||||||
if (#datas < 4) then
|
|
||||||
return {}
|
|
||||||
else
|
|
||||||
local list = {}
|
|
||||||
for index, value in ipairs(datas) do
|
|
||||||
if (index > 4) then
|
|
||||||
table.insert(list, value)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return list
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function GroupFile:addBeast(name, level, baseFile, mixins)
|
|
||||||
local beast = BeastFile("data", baseFile .. ".beast", tonumber(level))
|
|
||||||
if (#mixins > 0) then
|
|
||||||
for index, mixin in ipairs(mixins) do
|
|
||||||
beast:loadMixin(mixin)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
beast:forceName(name)
|
|
||||||
table.insert(self.datas, beast)
|
|
||||||
end
|
|
||||||
|
|
||||||
function GroupFile:prepareJson(simplercreatures, creatures, parent)
|
|
||||||
assert(simplercreatures ~= nil)
|
|
||||||
assert(creatures ~= nil)
|
|
||||||
--self.datas:prepareJson(simplercreatures, creatures, parent)
|
|
||||||
for _, beast in ipairs(self.datas) do
|
|
||||||
beast:prepareJson(simplercreatures, creatures, parent)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return GroupFile
|
|
|
@ -1,5 +1,3 @@
|
||||||
return {
|
return {
|
||||||
{nom = "Animaux", folder = "animaux", description = "Des animaux génériques et communs (ou moins communs)", descriptionPage = "Cette page comporte les animaux génériques et communs qu'on peut voir tout les jours, plus quelques animaux plus grand que d'habitude. Ces créatures vont être généralement de niveaux plus faible que d'autres que vous pourrez rencontrer plus tard dans le jeu (apres une vache ça reste dangereux hein)"},
|
{nom = "Animaux", folder = "animaux", description = "Des animaux génériques et communs (ou moins communs)"}
|
||||||
{nom = "Démons et enfer", folder = "demons", description = "Créatures des enfers et satanistes", descriptionPage = "Cette page comporte les créatures et base de PNJ lié aux enfers. Cela peut contenir des démons, des satanistes, ou d'autres créatures lié aux enfers. Ces êtres sont souvent lié à l'élément *chaos*."},
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,6 +0,0 @@
|
||||||
beast;Chien;0;generique/canides
|
|
||||||
beast;Petit Chien;0;generique/canides;bases/tailles/petit
|
|
||||||
beast;Chien-Loup;3;generique/canides
|
|
||||||
beast;Loup;6;generique/canides
|
|
||||||
beast;Chef-Loup;7;generique/canides
|
|
||||||
beast;Loup Géant;9;generique/canides;bases/tailles/grand
|
|
3
data/animaux/chien.beast
Normal file
3
data/animaux/chien.beast
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
mixins;generique/canides
|
||||||
|
|
||||||
|
name;Chien // nom de la créature
|
3
data/animaux/chienloup.beast
Normal file
3
data/animaux/chienloup.beast
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
mixins;generique/canides
|
||||||
|
name;Chien-Loup // nom de la créature
|
||||||
|
level;2
|
3
data/animaux/loup.beast
Normal file
3
data/animaux/loup.beast
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
mixins;generique/canides
|
||||||
|
name;Loup
|
||||||
|
level;5
|
5
data/animaux/loupchef.beast
Normal file
5
data/animaux/loupchef.beast
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
mixins;animaux/loup
|
||||||
|
name;Loup en Chef // nom de la créature
|
||||||
|
level;6
|
||||||
|
|
||||||
|
skill;Chef de meute;Peut ajouter +1 dégat brut à une attaque par loup présent, mais perdra 50% pour esquiver et encaisser au tour suivant. Cinq tours de cooldown;
|
|
@ -1,2 +0,0 @@
|
||||||
mixins;bases/special/demons
|
|
||||||
skill;Blessure infernale;besoin de deux soin pour soigner une blessure, les blessures restante après le combat provoque un malus physique sur le long terme;
|
|
|
@ -1,5 +0,0 @@
|
||||||
faiblesse;ordre
|
|
||||||
resistence;chaos
|
|
||||||
|
|
||||||
skill;Force chaotique;Regagne 1D6 PV - 3 par tour en terrain chaotique;
|
|
||||||
skill;Attaque démoniaque;Attaque avec effet de chaos (L'attaque fait moitié dégats sur le corps et l'esprit.)
|
|
|
@ -1,8 +0,0 @@
|
||||||
beast;Chien des enfers;1;generique/canides
|
|
||||||
beast;Chihuahua infernal;1;generique/canides;bases/tailles/petit;bases/special/demons-betes
|
|
||||||
beast;Chien-Loup des enfers;4;generique/canides;bases/special/demons-betes
|
|
||||||
beast;Loup des enfers;7;generique/canides;bases/special/demons-betes
|
|
||||||
beast;Chef-Loup des enfers;8;generique/canides;bases/special/demons-betes
|
|
||||||
beast;Loup du pandémonium;10;generique/canides;bases/special/demons-betes
|
|
||||||
beast;Loup Géant des enfers;12;generique/canides;bases/tailles/grand;bases/special/demons-betes
|
|
||||||
beast;Loup Géant du pandémonium;15;generique/canides;bases/tailles/grand;bases/special/demons-betes
|
|
|
@ -26,4 +26,3 @@ armes;Croc;4;
|
||||||
skill;Morsure;Une attaque qui utilise les crocs et fait 1 blessure;
|
skill;Morsure;Une attaque qui utilise les crocs et fait 1 blessure;
|
||||||
skill;Griffure;Fait deux attaques à -30% de chance de toucher;
|
skill;Griffure;Fait deux attaques à -30% de chance de toucher;
|
||||||
skill;Bêtes de meute;+5% pour toucher des zones difficiles par créature de meute présente;
|
skill;Bêtes de meute;+5% pour toucher des zones difficiles par créature de meute présente;
|
||||||
skill;Férocité (trois tour de cooldown);Peut doubler les dégats d'une attaque, mais se prendra 50% des dégats en retour | 6
|
|
Loading…
Reference in a new issue