Gestion on characters on nodejs & js from rpg html5
Nous allons ici expliqué la hierarchie et les différentes classes des attributs
-----------------------------------------------------
| BaseAttribut |
-----------------------------------------------------
^ ^ ^
| | |
-------------- --------------- --------------
| Attribut | | FinalBonus | | RawBonus |
-------------- --------------- --------------
^
|
----------------------
| DependantAttribute |
----------------------
^
|
------------------
| characteristic |
------------------
Dans lib/Attribute vous retrouverez toutes les classes qui permettent de gérer les attribut dans votre jeu. Mais qu'est ce qu'un attribut ?
Un attribut est element qui constitue un personnage par exemple ça force. Dans notre package Attribut vous aurrez donc toute les class liée à cela comme par exemple les bonus.
C 'est la classe mère toutes les classe du module Attribut hérite de celle-ci. elle implemente la base même de ce qu'est un attribut : une valeur et un multiplificateur (pour le bonus).
par exemple pour la force de votre guerrier et de 50 avec un bonus de 20 % cela ce traduit donc par valuer : 50 , mulitiplificateur : 0.2
code
var attribut = new BaseAttribut(50, 0.2);
Cette classe Herite de BaseAttribute et permet en outre d'effectuer l'ensemble des calculs. Par exemlpe si vous utilisé la classe mère vous devez a chaque fois recalculé la valeur de votre force. Cette classe le faite pour vous il vous suffit d'appeler la méthode finalValue()
code
var attribut = new Attribute(50);
console.log(attribut.finalValue);
Cette classe permet de gerer les bonus (chiffre possitif) et les malus (chiffre négatif) sur un caracteristique quand ceux-ci sont temporaires.
Par exemple le guerrier Ulrich active sont cri de guerre (+10% en force pendant 10 seconde)
code
var force = new Attribut(60);
var warCry = new finalBonus(1, 0.10, 600);
warCry.startTimer(force);
Cette classe gère les bonus et malus non periodic ou temporaire.
Par exemple le mage Alfredo gagne (+10 % d'intelligence avec son baton de feu)
code
var intelligence = new Attribute(50);
var fireStaff = new RawBonus(1, 0.10);
intelligence.addRawBonuses(fireStaff);
console.log(intelligence.finalValue());
Cette classe gères la dependance d'attribut.
Par exemple l'éclaireur marty augmente ça vie quand il augmente son endurance.
code
var life = new DependantAttribut(145);
var Stamia = new Attribute(45);
life.addDependency(stamia);
cette classe represente un charactéristique d'un personnage.
code
var force = new Characteristic(50);
Nous Nous allons ici expliqué la hierarchie et les différentes classes des Capacités
-------------------
| BaseCapacity |
-------------------
^
|
------------------
| Charism (ex) |
------------------
c'est la classe de base des capacité on y explique le comportement de base. Vous devrez donc créer vos propres comportement de capacité celle indique dans ce module sont ici à titre d'exemple
var capacity = new BaseCapacity();
capacity.depend = "SOC";
capacity.test(character, -30); // le "-30" represente un modificateur de difficulté - => facile + => difficile
ceci est un exemple
var charism = new Charism();
charism.test(character, 0);
Nous allons ici expliqué la hierarchie et les différentes classes des carrières
---------------
| BaseCareer |
----------------
^
|
----------------
| JdrCareer |
----------------
^
|
----------------
| Agitator |
----------------
Cette classe représente la structure d'une carrière. Vous devez vous même définir ce qu'une carrière a pour comportement. Une classe Intermedaire et final et a votre disposition pour exemple
var forgeron = new BaseCareer();
Cette classe exprime une vision du métier selon le jdr. Nous aurions peu exprimer une autre façon de faire
var jdr = new JdrCareer();
c'est une classe final pouvant être affecté a un joueur toujours à titre d'exemple.
var perso = new Character();
var job = new Agitator();
job.affectTo(perso);
Nous allons ici expliqué la hierarchie et les différentes classes des personnage
---------------------------------------------
| BaseCharacter |
---------------------------------------------
^ ^
| |
------------------------- ----------------------
| Character (deprecated)| | CharacterJdr (ex) |
------------------------- ----------------------
Definit le comportement initial d'un personnage
Cette classe d'exemple definit le comportement attendu d'un personnage dans un univers JDR.
var me = new CharacherJDR("joss", "le barbare");
console.log(me.FirstName);
Nous allons ici expliqué la hierarchie et les différentes classes
-----------------------
| BaseClass |
-----------------------
^
|
-----------------------
| JdrClass |
-----------------------
^
|
-----------------------
| Warrior |
-----------------------
Cette classe permet de définir les comportement généreaux des classes de votre jeu.
var maclasse = new BaseClass();
Cette classe permet de définir les comportements généreaux lié à la gestion d'un personnage jdr
var class = new JdrClass();
Un exemple d'implementation de jdrClass
var moi = new Character("moi", "le mj");
var warriorClass = new Warrior();
warriorClass.affectTo(moi); // affect
moi.Level++;
warriorClass.levelUp(moi); // level spells
Nous allons ici expliqué la hierarchie et les différentes classes des effets
-----------------------
| Effect |
-----------------------
Cette classe va vous permettre de faire baisser ou augmenté la valeur d'un attribut sur un personnage
var effect = new Effect();
var person = new Character();
effect.descrease(person, "Life", 5);
Nous allons ici expliqué la hierarchie et les différentes classes des races
---------------------
| BaseRace |
---------------------
^
|
----------------------
| JdrRace (ex)|
----------------------
^
|
-----------------------
| Human (ex) |
-----------------------
Cette classe permet de mettre en place les comportement de base des classe race
var maRace = new BaseRace();
Cette classe là permet de définir le comportement d'une race du monde jdr
var perso = new character();
var jdr = new JdrRace();
jdr.affectTo(jdr);
Implementation of human in jdr
var me = new Character();
var human = new Human();
human.affectTo(me);
Nous allons ici expliqué la hierarchie et les différentes classes services
------------------------------------------------------------------------
| BaseService |
------------------------------------------------------------------------
^ ^ ^
| | |
--------------------- --------------------- -------------------
| CapacityServices | | ClassServices | | SpellService |
--------------------- --------------------- -------------------
Explique le comportement basique d'un service
var service = new BaseService();
service.add("myContainer", function(){}());
Recupere des instance de capacités
var service = new CapaticyService();
charism = service.get('Charism');
Recuperere des instance de class
var moi = new Character("joss", "le barman");
ClassService().get("Warrior").affectTo(moi); // affect
moi.Level ++;
ClassService().get("Warrior").levelUp(moi); // level up
recupere les instances de spell
SpellService().get("FireBall").start(new Character('mathieu', 'le wizzard'), new Character('joss', 'le barman'));
Nous allons ici expliqué la hierarchie et les différentes classes sort
--------------
| BaseSpell |
--------------
^
|
-----------------
| FireBall (ex) |
-----------------
expose le comportement de base des spell
var spell = new BaseSpell();
spell.depend = "IN"; // depend de l'intelligence
spell.start = function(caster, target) {
console.log("yop");
}
exemple avec un sort de boule de feu
var speller = new CharacterJDR("mathieu", "le wizzard");
var target = new CharacterJDR("joss", "le barman");
speller.IN = 50;
target.B = 10;
SpellService().get("FireBall").start(speller, target);
var result = target.B == 10 || target.B == 9;
console.log(result);
// roll des
Util.des(100);
// value of success
console.log(Util.isSucces(56, 60)); // -4