Techna-lingua : les données perso en xml


Nouveau jeu, nouvelle version, nouveaux essais dans le développement…

L’arrivée de Deathwatch ne déroge pas à la règle : la conception est encore différente de ce qui avait été fait pour Rogue Trader, elle-même déjà différente de ce qui avait été fait dans Dark Heresy… Le but étant, à terme, d’unifier au maximum les morceaux de code.

Plusieurs changements majeurs pointent le bout de leur nez, en particulier la gestion du personnage, mais le plus flagrant pour l’utilisateur est le passage à l’xml pour gérer les données perso.

C’est pour le moment uniquement valable pour la section Deathwatch, mais les prochaines versions commenceront l’implémentation pour les autres jeux.

Structure du document xml 01 – ldb.xml :

Toutes les données et les définitions de l’extension (ici, le livre de base) se retrouvent désormais dans un unique fichier xml, nommé selon la convention des extensions déjà utilisée dans le reste du programme.

Les premières balises sont très classiques :

<?xml version= »1.0″ encoding= »utf-8″?>

<root>

La balise « <root> » étant terminée par une balise « </root> » en fin de document, comme le veut la structuration des documents xml.

Ensuite viennent les données proprement dites, regroupées en catégories, et dont les attributs sont variables suivant les besoins.

Les compétences sont définies ainsi :

<competences>

<competence id= »acrobatie » nom= »acrobatie » type= »avancée » carac= »ag » registre= »mouvement » description= »un entraînement en acrobatie magnifie votre agilité naturelle et vous permet de réaliser des prouesses que d’autres n’oseraient même pas tenter. voir deathwatch p.94″ />

[…]

<competence id= »vigilance » nom= »vigilance » type= »base » carac= »per » registre= » » description= »vigilance incarne cette faculté que vous avez de réagir à des évènements que votre esprit conscient ne perçoit pas forcément. voir deathwatch p.106″ />
</competences>

En détail, le bloc « compétences » défini donc la liste des compétences de l’extension, et chaque compétence est définie par un id, un nom, un type (« base » ou « avancée »), une caractéristique symbolisée par le nom court utilisé dans le reste du programme (cc, ct, f, e, ag, int, per, fm et soc), un registre (mouvement, investigation…) et une description de la compétence, qui renvoit toujours à la page de l’extension où est décrit la compétence.

Les talents sont définis d’une manière assez similiaire :

<talents>
<talent id= »affinitéwarp » nom= »affinité warp » multiple= »false » condition= »talent;niveau psy/-rite d’assermentation » effet= »note;affinité warp : possibilité de refaire sans modificateur un jet sur la table des phénomènes psychiques en remplacement du précédent, en subissant 1d5 pts de corruption » description= »vous entretenez un lien étroit avec le warp, ce qui vous permet de le sentir et d’éviter ses effets les plus indésirables quand vous canalisez sa puissance. voir deathwatch p.113″/>

[…]

<talent id= »voixtroublante » nom= »voix troublante » multiple= »false » condition= »- » effet= »note;voix troublante : +10 aux tests d’intimidation et d’interrogatoire en utilisant le talent, -10 aux tests de sociabilité face aux protagonistes que vous ne souhaitez pas menacer ou facilement impressionnables » description= »vous avez une voix particulièrement sinistre ou menaçante, au point que vous en faites trembler vos interlocuteurs. voir deathwatch p.129″ />
</talents>

Le bloc « talents » défini donc la liste des talents, définis par un id, un nom, une indication si le talent peut être pris plusieurs fois (auquel cas sa valeur sera « true », comme le talent Constitution Solide), une condition d’obtention codée suivant les règles du programme (ces règles feront l’objet d’un article ultérieur), un effet qui sera appliqué à la prise du talent, lui aussi codé suivant les règles du programme, et une description, elle aussi faisant référence à la page de l’extension où elle est décrite en détail.

Dernier exemple, les améliorations de carrière, cad ce qui s’achète avec les points d’xp

<améliorations>
<amélioration catégorie= »space marine » promotion= »1″ type= »compétence » nom= »alphabétisation » cout= »200″ nb_max_ou_rang= »1″ />

[…]

<amélioration catégorie= »space marine » promotion= »8″ type= »talent » nom= »grand orateur » cout= »1000″ nb_max_ou_rang= »1″ />

</améliorations>

Cette fois, le bloc « améliorations » définit la liste des dépensées possibles, avec la catégorie (ici « space marine », mais également « deathwatch », un chapitre ou encore une spécialité), une promotion, qui est le rang minimal pour avoir le droit d’acheter l’amélioration, un type (sauf exception, ce sera « compétence », « talent », « trait » ou « caractéristique »), un coût, et enfin le rang de la compétence ou le nombre maximal où l’amélioration peut être prise.

Sont également définis de la sorte les traits, les implants, les chapitres, les armes et armures, les équipements…

Un prochain article listera tous les blocs et toutes les définitions gérées par le programme, et sera mis à jour à chaque fois qu’une nouvelle définition sera gérée.


2 responses to “Techna-lingua : les données perso en xml

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :