Draft: Ajout d'un bestiaire #109
8 changed files with 45 additions and 11 deletions
|
@ -1 +1 @@
|
||||||
[{"list":[{"level":0,"type":"bête","rang":"E","nom":"Belier","categorie":"biologique"},{"level":0,"type":"bête","rang":"E","nom":"Chien","categorie":"biologique"},{"level":0,"type":"bête","rang":"E","nom":"Petit Chien","categorie":"biologique"},{"level":2,"type":"bête","rang":"C","nom":"Loup","categorie":"biologique"},{"level":3,"type":"bête","rang":"B","nom":"Chef-Loup","categorie":"biologique"},{"level":4,"type":"bête","rang":"A","nom":"Loup Géant","categorie":"biologique"},{"level":2,"type":"bête","rang":"C","nom":"Cheval","categorie":"biologique"},{"level":0,"type":"bête","rang":"E","nom":"Chèvre","categorie":"biologique"},{"level":0,"type":"bête","rang":"E","nom":"Chat","categorie":"biologique"},{"level":1,"type":"bête","rang":"D","nom":"Lynx","categorie":"biologique"},{"level":3,"type":"bête","rang":"B","nom":"Fauve","categorie":"biologique"},{"level":4,"type":"bête","rang":"A","nom":"Lion géant","categorie":"biologique"},{"level":3,"type":"bête","rang":"B","nom":"Ours","categorie":"biologique"},{"level":0,"type":"bête","rang":"E","nom":"Rat","categorie":"biologique"},{"level":1,"type":"aerien","rang":"D","nom":"Chauve souris","categorie":"biologique"},{"level":1,"type":"bête","rang":"D","nom":"Gros rat","categorie":"biologique"},{"level":1,"type":"bête","rang":"D","nom":"Nuée de rats","categorie":"biologique"},{"level":1,"type":"aerien","rang":"D","nom":"Nuée de chauve souris","categorie":"biologique"},{"level":1,"type":"bête","rang":"D","nom":"Rat pestiféré","categorie":"biologique"},{"level":2,"type":"bête","rang":"C","nom":"Rat géant","categorie":"biologique"},{"level":2,"type":"aerien","rang":"C","nom":"Chauve souris vampire","categorie":"biologique"},{"level":3,"type":"bête","rang":"B","nom":"Rat géant pestiféré","categorie":"biologique"},{"level":3,"type":"bête","rang":"B","nom":"Nuée de rats pestiféré","categorie":"biologique"},{"level":3,"type":"aerien","rang":"B","nom":"Nuée de chauve souris vampire","categorie":"biologique"},{"level":1,"type":"bête","rang":"D","nom":"Renard","categorie":"biologique"},{"level":2,"type":"bête","rang":"C","nom":"Vache","categorie":"biologique"}],"nom":"Animaux","folder":"animaux","description":"Des animaux génériques et communs (ou moins communs)"},{"list":[{"level":2,"type":"bête","rang":"C","nom":"Chihuahua infernal","categorie":"biologique"},{"level":2,"type":"bête","rang":"C","nom":"Chien des enfers","categorie":"biologique"},{"level":3,"type":"bête","rang":"B","nom":"Loup des enfers","categorie":"biologique"},{"level":4,"type":"bête","rang":"A","nom":"Chef-Loup des enfers","categorie":"biologique"},{"level":5,"type":"bête","rang":"S","nom":"Loup du pandémonium","categorie":"biologique"}],"nom":"Démons et enfer","folder":"demons","description":"Créatures des enfers et satanistes"}]
|
[{"folder":"animaux","list":[{"type":"bête","nom":"Belier","categorie":"biologique","level":0,"rang":"E"},{"type":"bête","nom":"Chien","categorie":"biologique","level":0,"rang":"E"},{"type":"bête","nom":"Petit Chien","categorie":"biologique","level":0,"rang":"E"},{"type":"bête","nom":"Loup","categorie":"biologique","level":2,"rang":"C"},{"type":"bête","nom":"Chef-Loup","categorie":"biologique","level":3,"rang":"B"},{"type":"bête","nom":"Loup Géant","categorie":"biologique","level":4,"rang":"A"},{"type":"bête","nom":"Cheval","categorie":"biologique","level":2,"rang":"C"},{"type":"bête","nom":"Chèvre","categorie":"biologique","level":0,"rang":"E"},{"type":"bête","nom":"Chat","categorie":"biologique","level":0,"rang":"E"},{"type":"bête","nom":"Lynx","categorie":"biologique","level":1,"rang":"D"},{"type":"bête","nom":"Fauve","categorie":"biologique","level":3,"rang":"B"},{"type":"bête","nom":"Lion géant","categorie":"biologique","level":4,"rang":"A"},{"type":"bête","nom":"Ours","categorie":"biologique","level":3,"rang":"B"},{"type":"bête","nom":"Rat","categorie":"biologique","level":0,"rang":"E"},{"type":"aerien","nom":"Chauve souris","categorie":"biologique","level":1,"rang":"D"},{"type":"bête","nom":"Gros rat","categorie":"biologique","level":1,"rang":"D"},{"type":"bête","nom":"Nuée de rats","categorie":"biologique","level":1,"rang":"D"},{"type":"aerien","nom":"Nuée de chauve souris","categorie":"biologique","level":1,"rang":"D"},{"type":"bête","nom":"Rat pestiféré","categorie":"biologique","level":1,"rang":"D"},{"type":"bête","nom":"Rat géant","categorie":"biologique","level":2,"rang":"C"},{"type":"aerien","nom":"Chauve souris vampire","categorie":"biologique","level":2,"rang":"C"},{"type":"bête","nom":"Rat géant pestiféré","categorie":"biologique","level":3,"rang":"B"},{"type":"bête","nom":"Nuée de rats pestiféré","categorie":"biologique","level":3,"rang":"B"},{"type":"aerien","nom":"Nuée de chauve souris vampire","categorie":"biologique","level":3,"rang":"B"},{"type":"bête","nom":"Renard","categorie":"biologique","level":1,"rang":"D"},{"type":"bête","nom":"Vache","categorie":"biologique","level":2,"rang":"C"}],"description":"Des animaux génériques et communs (ou moins communs)","nom":"Animaux"},{"folder":"demons","list":[{"type":"bête","nom":"Chihuahua infernal","categorie":"biologique","level":2,"rang":"C"},{"type":"bête","nom":"Chien des enfers","categorie":"biologique","level":2,"rang":"C"},{"type":"bête","nom":"Loup des enfers","categorie":"biologique","level":3,"rang":"B"},{"type":"bête","nom":"Chef-Loup des enfers","categorie":"biologique","level":4,"rang":"A"},{"type":"bête","nom":"Loup du pandémonium","categorie":"biologique","level":5,"rang":"S"}],"description":"Créatures des enfers et satanistes","nom":"Démons et enfer"}]
|
File diff suppressed because one or more lines are too long
20
bestiaire/classes/dataholders/vitaholder.lua
Normal file
20
bestiaire/classes/dataholders/vitaholder.lua
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
local VitaHolder = Object:extend()
|
||||||
|
|
||||||
|
function VitaHolder:new(key, datas)
|
||||||
|
self.key = key
|
||||||
|
self.datas = datas
|
||||||
|
self.commands = {}
|
||||||
|
end
|
||||||
|
|
||||||
|
function VitaHolder:applyCommand(command, args)
|
||||||
|
self.commands[command] = args
|
||||||
|
end
|
||||||
|
|
||||||
|
function VitaHolder:reduce(level, mode)
|
||||||
|
local stat = (self.commands.base + (self.commands.add or 0))
|
||||||
|
stat = stat * (level+1)
|
||||||
|
stat = stat + (self.commands.bonus or 0)
|
||||||
|
return math.floor(stat)
|
||||||
|
end
|
||||||
|
|
||||||
|
return VitaHolder
|
|
@ -7,6 +7,7 @@ local StatHolder = require "classes.dataholders.statholder"
|
||||||
local CompetenceHolder = require "classes.dataholders.competenceholder"
|
local CompetenceHolder = require "classes.dataholders.competenceholder"
|
||||||
local ArmesHolder = require "classes.dataholders.armesholder"
|
local ArmesHolder = require "classes.dataholders.armesholder"
|
||||||
local ArmureHolder = require "classes.dataholders.armureholder"
|
local ArmureHolder = require "classes.dataholders.armureholder"
|
||||||
|
local VitaHolder = require "classes.dataholders.vitaholder"
|
||||||
|
|
||||||
local BoostHolder = require "classes.dataholders.boostholder"
|
local BoostHolder = require "classes.dataholders.boostholder"
|
||||||
|
|
||||||
|
@ -66,6 +67,8 @@ function DataList.getHolder(key, value)
|
||||||
return ArmureHolder(key, value)
|
return ArmureHolder(key, value)
|
||||||
elseif (value.dataType == "armes") then
|
elseif (value.dataType == "armes") then
|
||||||
return ArmesHolder(key, value)
|
return ArmesHolder(key, value)
|
||||||
|
elseif (value.dataType == "vita") then
|
||||||
|
return VitaHolder(key, value)
|
||||||
end
|
end
|
||||||
return SimpleHolder(key, value)
|
return SimpleHolder(key, value)
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,3 +2,14 @@ local datas = {}
|
||||||
|
|
||||||
datas.hp = {1, 1, 2, 3, 4, 5, 6}
|
datas.hp = {1, 1, 2, 3, 4, 5, 6}
|
||||||
datas.competences = {10, 30, 30, 50, 50, 70}
|
datas.competences = {10, 30, 30, 50, 50, 70}
|
||||||
|
datas.stats = {
|
||||||
|
[0] = {base = 40, malus = {20, 30, 30}, bonus = {50, 50, 60}},
|
||||||
|
[1] = {base = 50, malus = {20, 30, 40}, bonus = {60, 70, 80}},
|
||||||
|
[2] = {base = 50, malus = {30, 30, 40}, bonus = {70, 80, 80}},
|
||||||
|
[3] = {base = 50, malus = {30, 30, 40}, bonus = {80, 80, 100}}, -- Potentiel
|
||||||
|
[4] = {base = 50, malus = {30, 40, 40}, bonus = {80, 80, 120}},
|
||||||
|
[5] = {base = 50, malus = {30, 40, 40}, bonus = {80, 100, 140}}, -- Potentiel+
|
||||||
|
[6] = {base = 60, malus = {30, 40, 50}, bonus = {80, 120, 150}},
|
||||||
|
[7] = {base = 60, malus = {30, 40, 50}, bonus = {80, 130, 180}}, -- Supérieur au max des joueurs
|
||||||
|
[8] = {base = 60, malus = {40, 40, 50}, bonus = {120, 150, 200}},
|
||||||
|
}
|
|
@ -7,9 +7,9 @@ datas.stats = {
|
||||||
[1] = {base = 50, malus = {20, 30, 40}, bonus = {60, 70, 80}},
|
[1] = {base = 50, malus = {20, 30, 40}, bonus = {60, 70, 80}},
|
||||||
[2] = {base = 50, malus = {30, 30, 40}, bonus = {70, 80, 80}},
|
[2] = {base = 50, malus = {30, 30, 40}, bonus = {70, 80, 80}},
|
||||||
[3] = {base = 50, malus = {30, 30, 40}, bonus = {80, 80, 100}}, -- Potentiel
|
[3] = {base = 50, malus = {30, 30, 40}, bonus = {80, 80, 100}}, -- Potentiel
|
||||||
[4] = {base = 50, malus = {30, 30, 40}, bonus = {80, 80, 120}},
|
[4] = {base = 50, malus = {30, 40, 40}, bonus = {80, 80, 120}},
|
||||||
[5] = {base = 50, malus = {30, 30, 40}, bonus = {80, 100, 140}}, -- Potentiel+
|
[5] = {base = 50, malus = {30, 40, 40}, bonus = {80, 100, 140}}, -- Potentiel+
|
||||||
[6] = {base = 50, malus = {30, 30, 40}, bonus = {80, 120, 150}},
|
[6] = {base = 60, malus = {30, 40, 50}, bonus = {80, 120, 150}},
|
||||||
[7] = {base = 50, malus = {30, 30, 40}, bonus = {80, 80, 180}}, -- Supérieur au max des joueurs
|
[7] = {base = 60, malus = {30, 40, 50}, bonus = {80, 130, 180}}, -- Supérieur au max des joueurs
|
||||||
[8] = {base = 50, malus = {30, 30, 40}, bonus = {80, 80, 200}},
|
[8] = {base = 60, malus = {40, 40, 50}, bonus = {120, 150, 200}},
|
||||||
}
|
}
|
|
@ -35,7 +35,7 @@ local function addListCommands(name, value)
|
||||||
end
|
end
|
||||||
|
|
||||||
for key, value in pairs(struct) do
|
for key, value in pairs(struct) do
|
||||||
if (value.dataType == "stat" or value.dataType == "armure") then
|
if (value.dataType == "stat" or value.dataType == "armure" or value.dataType == "vita") then
|
||||||
addStatCommands(key, value)
|
addStatCommands(key, value)
|
||||||
elseif (value.dataType == "list") then
|
elseif (value.dataType == "list") then
|
||||||
addListCommands(key, value)
|
addListCommands(key, value)
|
||||||
|
|
|
@ -19,8 +19,8 @@ return {
|
||||||
dis= {dataType= "stat", modulo= 5, default= 50, max=255, min=10, to="stats.dis"},
|
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"},
|
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"},
|
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},
|
pv= {dataType= "vita", 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},
|
pe= {dataType= "vita", modulo= 1, default= 12, max=9999999, min=1, to="vita.pe", lvl=1},
|
||||||
eclat= {dataType= "stat", modulo= 1, default= 10, max=200, min=1, to="vita.eclat"},
|
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"},
|
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"},
|
armurepsy= {dataType= "armure", modulo= 1, default= 0, max=9999999, min=0, to="armure.psy"},
|
||||||
|
|
Loading…
Reference in a new issue