Compare commits

..

No commits in common. "d5d707ad00b525f70b047392427ca090760e3110" and "ae89979c8031f710686d83da55628f1ee271a900" have entirely different histories.

22 changed files with 39 additions and 252 deletions

View file

@ -1,30 +0,0 @@
local BoostHolder = Object:extend()
function BoostHolder:new(list)
self.parent = list
self.table = {}
end
function BoostHolder:add(name, val)
if (self.table[name] == nil) then
self.table[name] = val
else
self.table[name] = self.table[name] + val
end
end
function BoostHolder:getValue(name, val)
if (name == "pv" or name == "pe") then
return val * 3
else
return val * 5
end
end
function BoostHolder:apply()
for key, value in pairs(self.table) do
self.parent:addToHolder(key, "lvl", self:getValue(key, value))
end
end
return BoostHolder

View file

@ -8,8 +8,6 @@ local CompetenceHolder = require "classes.dataholders.competenceholder"
local ArmesHolder = require "classes.dataholders.armesholder"
local ArmureHolder = require "classes.dataholders.armureholder"
local BoostHolder = require "classes.dataholders.boostholder"
function RawData.fromLine(line)
line = utils.removeComment(line)
if (#line == 0) then
@ -80,8 +78,6 @@ function DataList:new(forceLevel)
for key, struct in pairs(commands.structs) do
self.holders[key] = DataList.getHolder(key, struct)
end
self.boosts = BoostHolder(self)
end
function DataList:addLine(line)
@ -92,10 +88,6 @@ function DataList:forceName(name)
self.forcedName = name
end
function DataList:addToHolder(key, command, arguments)
self.holders[key]:applyCommand(command, arguments)
end
function DataList:reduce()
local level = 0
local mode = "creature"
@ -106,9 +98,6 @@ function DataList:reduce()
if (rawdata.name == "mode") then
mode = rawdata.arguments
end
if (rawdata.name == "boost") then
self.boosts:add(rawdata.arguments[1], rawdata.arguments[2])
end
end
@ -117,14 +106,13 @@ function DataList:reduce()
end
for _, rawdata in ipairs(self.list) do
if (rawdata:canBeUsed(level) and rawdata.name ~= "boost" and rawdata.name ~= "halfboost") then
self:addToHolder(rawdata:getKey(), rawdata:getCommand(), rawdata.arguments)
if (rawdata:canBeUsed(level)) then
self.holders[rawdata:getKey()]:applyCommand(rawdata:getCommand(), rawdata.arguments)
end
end
self.boosts:apply()
for key, holder in pairs(self.holders) do
--self.reducedList[key] = holder:reduce(level)
self:addToReducedList(key, holder:reduce(level, mode))
end

View file

@ -1,26 +0,0 @@
type;bete
mixins;bases/corps/quadripede
level;1
name;Belier
// 4 boosts de stats
boost;hab;.5
boost;rel;1
boost;con;.5
boost;per;1
boost;pv;1
armurephy.base;3
armurepsy.base;0
armurespe.base;3
competence;Charge;10;
competence.lvl;Charge;3;
competence;Evasion;10;
competence.lvl;Evasion;3;
armes;Corne;3;
skill;Charge (1 tours de cooldown);Peut charger et envoyer deux dés d'attaque au lieu d'un;
skill;Broute; Peut faire une attaque qui fait des dégats mentaux aux végétaux;
skill;Laine;+2 armures spéciale de base (scale avec le niveau, déjà présent dans les armures);

View file

@ -1,5 +1,6 @@
beast;Chien;0;generique/canides
beast;Petit Chien;0;generique/canides;bases/tailles/petit
beast;Loup;5;generique/canides
beast;Chef-Loup;6;generique/canides
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

View file

@ -1,22 +0,0 @@
type;bete
mixins;bases/corps/quadripede
mixins;bases/tailles/grand
level;3
name;Cheval
// 4 boosts de stats
boost;hab;.5
boost;rel;.5
boost;con;1
boost;pv;2
armurephy.base;3
armurepsy.base;0
armurespe.base;1
competence;Charge;10;
competence.lvl;Charge;3;
skill;Galop;Peut faire sa vitesse pur sur sa FOR;
skill;Monture;Peut servir de monture, jouera au même tour;
skill;Ruade (2 tours de cooldown);Une attaque qui projette l'ennemi et à 1/4 chance de stun;

View file

@ -1,25 +0,0 @@
type;bete
mixins;bases/corps/quadripede
level;1
name;Chèvre
// 4 boosts de stats
boost;hab;.5
boost;rel;.5
boost;int;1
boost;per;1
boost;pv;1
armurephy.base;3
armurepsy.base;0
armurespe.base;1
competence;Charge;10;
competence.lvl;Charge;3;
competence;Evasion;10;
competence.lvl;Evasion;3;
armes;Corne;3;
skill;Charge (1 tours de cooldown);Peut charger et envoyer deux dés d'attaque au lieu d'un;
skill;Broute; Peut faire une attaque qui fait des dégats mentaux aux végétaux;

View file

@ -1,4 +0,0 @@
beast;Chat;0;generique/felides;bases/tailles/petit
beast;Lynx;3;generique/felides
beast;Fauve;7;generique/felides
beast;Lion géant;10;generique/felides;bases/tailles/grand

View file

@ -1,3 +0,0 @@
mixins;generique/ursides
level;8
name;Ours

View file

@ -1,11 +0,0 @@
beast;Rat;0;generique/rat
beast;Chauve souris;1;generique/rat;types/aerien
beast;Gros rat;2;generique/rat;bases/tailles/petit
beast;Nuée de rats;3;generique/rat;bases/special/nuee
beast;Nuée de chauve souris;4;generique/rat;types/aerien
beast;Rat pestiféré;4;generique/rat;bases/special/pestilent
beast;Rat géant;4;generique/rat
beast;Chauve souris vampire;4;generique/rat;types/aerien;bases/special/vampirisme
beast;Rat géant pestiféré;5;generique/rat;generique/rat;bases/special/pestilent
beast;Nuée de rats pestiféré;7;generique/rat;bases/special/nuee;bases/special/pestilent
beast;Nuée de chauve souris vampire;7;generique/rat;types/aerien;bases/special/nuee;bases/special/vampirisme

View file

@ -1,27 +0,0 @@
type;bete
mixins;bases/corps/quadripede
level;2
name;Renard
// 4 boosts de stats
boost;int;1
boost;hab;1
boost;rel;.5
boost;atk;.5
boost;pv;.5
boost;int;.5
armurephy.base;2
armurepsy.base;0
armurespe.base;1
competence;Chasse;10;
competence.lvl;Chasse;3;
competence;Pistage;10;
competence.lvl;Pistage;3;
armes;Griffe;3;
armes;Croc;4;
skill;Morsure;Une attaque qui utilise les crocs et fait 1 blessure;
skill;Griffure;Fait deux attaques à -30% de chance de toucher;

View file

@ -1,24 +0,0 @@
type;bete
mixins;bases/corps/quadripede
mixins;bases/tailles/grand
level;3
name;Vache
// 4 boosts de stats
boost;atk;.5
boost;rel;.5
boost;con;1
boost;pv;2
armurephy.base;4
armurepsy.base;0
armurespe.base;2
competence;Charge;10;
competence.lvl;Charge;3;
armes;Corne;3;
skill;Charge (1 tours de cooldown);Peut charger et envoyer deux dés d'attaque au lieu d'un;
skill;Monture;Peut servir de monture, jouera au même tour;
skill;Empalement (2 tours de cooldown);Attaque qui provoque 1D4 blessure, mais n'a qu'une chance sur 2 de réussir; | 6

View file

@ -1 +0,0 @@
skill;Nuée;PV × 1D8, correspond au nombre de créature. Au max 3 attaque par tour tant qu'il y a assez de créature. Les attaque non de zone font max le nombre de PV de base de la créature. Les soins ne peuvent ramener des membres de la nuée. La nuée perd 10% en hab pour esquiver tant qu'il y a des membres.;

View file

@ -1 +0,0 @@
skill;Pestilence;Ses attaques physique font l'effet poison;

View file

@ -1 +0,0 @@
skill;Vampirisme (1 tour de cooldown);Une attaque au corps à corps qui soigne à l'attaquant 50% des dégats infligés à l'ennemi.;

View file

@ -1,8 +0,0 @@
// Créature normale
atk.bonus;0
con.bonus;0
hab.bonus;0
per.bonus;0
pv.bonus;0;
armurephy.bonus;0;

View file

@ -1,6 +1,8 @@
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;11;generique/canides;bases/tailles/grand
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

View file

@ -1,13 +1,15 @@
type;bete
mixins;bases/corps/quadripede
// 4 boosts à rajouter
// 10~11 points de stats à distribuer par niveaux
atk.lvl;3
hab.lvl;2
dis.lvl;1
con.lvl;3
int.lvl;1
boost;atk;1.5
boost;pv;1
boost;pe;.5
boost;hab;.5
boost;con;.5
pv.lvl;4
pe.lvl;2
armurephy.base;2
armurepsy.base;0

View file

@ -1,24 +1,24 @@
type;bete
mixins;bases/corps/quadripede
// 4 boosts à rajouter
// 10~11 points de stats à distribuer par niveaux
atk.lvl;2
hab.lvl;3
dis.lvl;3
con.lvl;1
int.lvl;2
boost;atk;1
boost;hab;1
boost;pv;1
boost;int;.5
boost;dis;.5
pv.lvl;4
pe.lvl;2
armurephy.base;1
armurepsy.base;0
armurespe.base;1
competence;Chasse;10;
competence.lvl;Chasse;2;
competence.lvl;Chasse;3;
competence;Pistage;10;
competence.lvl;Pistage;2;
competence;Grimpette;10;
competence.lvl;Pistage;2;
competence.lvl;Pistage;3;
armes;Griffe;3;
armes;Croc;4;

View file

@ -1,25 +0,0 @@
type;bete
mixins;bases/corps/quadripede
mixins;bases/tailles/trespetit
level;0
name;Rat
// 4 boosts de stats
boost;int;1
boost;hab;2
boost;dis;1
armurephy.base;0
armurepsy.base;0
armurespe.base;0
competence;Cachette;10;
competence.lvl;Cachette;3;
competence;Fouille;10;
competence.lvl;Fouille;3;
armes;Griffe;1;
armes;Croc;2;
skill;Morsure;Une attaque qui utilise les crocs et fait 1 blessure;
skill;Attaque accrochée;S'accroche et fait 1 dégats / tour;

View file

@ -2,10 +2,13 @@ type;bete
mixins;bases/corps/quadripede
mixins;bases/tailles/grand
// 4 boost à passer par niveau
boost;atk;1
boost;con;1
boost;pv;2
// 10~11 points de stats à distribuer par niveaux
atk.lvl;4
cha.lvl;2
con.lvl;4
pv.lvl;6
pe.lvl;1
armurephy.base;4
armurepsy.base;0
@ -19,5 +22,5 @@ competence.lvl;Pistage;3;
armes;Griffe;4;
armes;Croc;5;
skill;Morsure;Une attaque qui utilise les crocs et fait 2 blessure;
skill;Morsure;Une attaque qui utilise les crocs et fait 1 blessure;
skill;Griffure;Fait deux attaques à -30% de chance de toucher;

View file

@ -1,5 +1,5 @@
nomType;aerien
categorie;biologique
faiblesse;air
resistence;terre
skill;Vol;Peut voler, +30% pour esquiver les attaques terrestres
resistance;terre
skill;Vol;Peut voler

View file

@ -8,7 +8,6 @@ return {
immunite={contentType = "list", args=1},
level={contentType = "number", default = 0, preParse = true},
pression={contentType = "number", default = 5},
boost={dataType = "boost", args=2},
atk= {dataType= "stat", modulo= 5, default= 50, max=255, min=10, to="stats.for"},
con= {dataType= "stat", modulo= 5, default= 50, max=255, min=10, to="stats.con"},
hab= {dataType= "stat", modulo= 5, default= 50, max=255, min=10, to="stats.hab"},
@ -19,8 +18,8 @@ return {
dis= {dataType= "stat", modulo= 5, default= 50, max=255, min=10, to="stats.dis"},
rel= {dataType= "stat", modulo= 5, default= 50, max=255, min=10, to="stats.rel"},
per= {dataType= "stat", modulo= 5, default= 50, max=255, min=10, to="stats.per"},
pv= {dataType= "stat", modulo= 1, default= 12, max=9999999, min=1, to="vita.pv", lvl=1},
pe= {dataType= "stat", modulo= 1, default= 12, max=9999999, min=1, to="vita.pe", lvl=1},
pv= {dataType= "stat", modulo= 1, default= 12, max=9999999, min=1, to="vita.pv", lvl=3},
pe= {dataType= "stat", modulo= 1, default= 12, max=9999999, min=1, to="vita.pe", lvl=3},
eclat= {dataType= "stat", modulo= 1, default= 10, max=200, min=1, to="vita.eclat"},
armurephy= {dataType= "armure", modulo= 1, default= 0, max=9999999, min=0, to="armure.phy"},
armurepsy= {dataType= "armure", modulo= 1, default= 0, max=9999999, min=0, to="armure.psy"},