Ceci est une ancienne révision du document !
Skills
Sur cette page je vais essayer de resumer toute mes recherches sur les skills leur génération a partir de fichiers, ce qu'il faut modifier pour en ajouter, …
Issue corespondante sur gitlab: https://git.khaganat.net/khaganat/khanat-ressources/issues/2
Scoui
Nomentlature
Les nom des skill peuvent se décomposer en PLACEHOLDER parties.
La première lettre sera toujours la même signifiant simplement que c'est un skill.
S = Skill
La deuxieme lettre correspond au type de la compétence comme suit.
C = Craft D = Défense F = Fight H = Harvest M = Magic
skill_extractor
skill_extrator.exe génère lui même les fichiers skills.cpp et skills.h contenant l'enumeration des code des skills.
Structure des fichiers sources (xml, txt, ... ) générés par skill_extractor.exe
Resultat de la fonction void writeInSheet(COFile &fo)
<STRUCT Name="NormalizedSkillName"> <ATOM Name="Skill" Value="SkillName" /> <ATOM Name="SkillCode" Value="Code" /> <ATOM Name="MaxSkillValue" Value="Code" /> <ATOM Name="Type of Stage" Value="MaxValue" /> <ATOM Name="ParentSkill" Value="ParentSkill" /> <ATOM Name="ParentSkill\" Value="" /> <ARRAY Name="ChildSkills"> <ATOM Name="Children_NormalizedSkillName" Value="Children_SkillName" /> </ARRAY> </STRUCT>
skill_codes.txt
// Liste des skill et code associé sous la forme: NormalizedSkillName Code
.typ file
<?xml version="1.0"?> <TYPE Type="String" UI="NonEditableCombo" Default="unknown" Version="0.1" State="modified"> <DEFINITION Label="unknown" Value="unknown"/> <DEFINITION Label="SkillName" Value="NormalizedSkillName"/> </TYPE>
.dfn file
<?xml version="1.0"?> <DFN Version="0.0" State="modified"> <!-- note du scoui: la valeur de Filename "creature_stat.typ" est hardcodé --> <ELEMENT Name="NormalizedSkillName" Type="Type" Filename="creature_stat.typ"/> </DFN>
skills.pds
// NbSkills in enum : size Report this in database.xml file "skills.h" { enum TSkill { BeginSkill { NormalizedSkillName , NormalizedSkillName // note du scoui: etc... pour chaque skill } } EndSkill }
Man
Create a file .typ for george contained a subset of skills SKILL_EXTRACTOR <output file> <input file skills> <[<selector> ...] param 1 : create tree (yes) or no (no)\n"); if output file have .typ extension, generate .typ george file format if output file have .dfn extension, generate .dfn george file format param 3 is sheet2 of SkillCategory.xls exported in csv format Selector is category present in input file, selectors begins by '+' for or operation and by '.' for and operation the first selector must be or operation (begin by '+' character)
skill_extractor.cfg
Pour le moment cette partie n'est qu'une version brute de ce que j’extrais directement du code source et sera à compléter/détailler par la suite, je le met comme ça pour déjà avoir une base en utilisant les nom de variable du code afin de voir un peu mieux ce qui attendu.
// csv file CsvDir // path for the generated source files SrcDir // path for the generated source files PdsDir // path for the generated dfn DfnDir // path for the generated skill tree SkillTreeDir
dfn, typ
// skill name skillName // code Code // parent skill ParentSkill // max skill value MaxValue // stage type StageType // main category MainCategory // secondary category SecondaryCategory
Matériel de recherche
Liste des fichiers utiles
Correspondance entre le code et le nom littérale de la compétence
Lien vers la partie création de la compétence de l'activité pêche
Liste des skills
Source: khanat-code\code\ryzom\common\src\game_share\skills.h
enum ESkills { SC = 0, SCA, SCAH, SCAHB, SCAHBE, SCAHBEM, SCAHG, SCAHGE, SCAHGEM, SCAHH, SCAHHE, SCAHHEM, SCAHP, SCAHPE, SCAHPEM, SCAHS, SCAHSE, SCAHSEM, SCAHV, SCAHVE, SCAHVEM, SCAL, SCALB, SCALBE, SCALBEM, SCALG, SCALGE, SCALGEM, SCALP, SCALPE, SCALPEM, SCALS, SCALSE, SCALSEM, SCALV, SCALVE, SCALVEM, SCAM, SCAMB, SCAMBE, SCAMBEM, SCAMG, SCAMGE, SCAMGEM, SCAMP, SCAMPE, SCAMPEM, SCAMS, SCAMSE, SCAMSEM, SCAMV, SCAMVE, SCAMVEM, SCAS, SCASB, SCASBE, SCASBEM, SCASS, SCASSE, SCASSEM, SCJ, SCJA, SCJAA, SCJAAE, SCJAAEM, SCJB, SCJBA, SCJBAE, SCJBAEM, SCJD, SCJDA, SCJDAE, SCJDAEM, SCJE, SCJEA, SCJEAE, SCJEAEM, SCJP, SCJPA, SCJPAE, SCJPAEM, SCJR, SCJRA, SCJRAE, SCJRAEM, SCM, SCM1, SCM1A, SCM1AE, SCM1AEM, SCM1D, SCM1DE, SCM1DEM, SCM1M, SCM1ME, SCM1MEM, SCM1P, SCM1PE, SCM1PEM, SCM1S, SCM1SE, SCM1SEM, SCM1T, SCM1TE, SCM1TEM, SCM2, SCM2A, SCM2AE, SCM2AEM, SCM2M, SCM2ME, SCM2MEM, SCM2P, SCM2PE, SCM2PEM, SCM2S, SCM2SE, SCM2SEM, SCMC, SCMCA, SCMCAE, SCMCAEM, SCR, SCR1, SCR1P, SCR1PE, SCR1PEM, SCR2, SCR2A, SCR2AE, SCR2AEM, SCR2L, SCR2LE, SCR2LEM, SCR2R, SCR2RE, SCR2REM, SF, SFM, SFM1, SFM1B, SFM1BM, SFM1BMM, SFM1BS, SFM1BSM, SFM1P, SFM1PS, SFM1PSM, SFM1S, SFM1SA, SFM1SAM, SFM1SS, SFM1SSM, SFM2, SFM2B, SFM2BM, SFM2BMM, SFM2P, SFM2PP, SFM2PPM, SFM2S, SFM2SA, SFM2SAM, SFM2SS, SFM2SSM, SFMC, SFMCA, SFMCAD, SFMCADM, SFMCAH, SFMCAHM, SFR, SFR1, SFR1A, SFR1AP, SFR1APM, SFR2, SFR2A, SFR2AA, SFR2AAM, SFR2AL, SFR2ALM, SFR2AR, SFR2ARM, SH, SHF, SHFD, SHFDA, SHFDAE, SHFDAEM, SHFF, SHFFA, SHFFAE, SHFFAEM, SHFJ, SHFJA, SHFJAE, SHFJAEM, SHFL, SHFLA, SHFLAE, SHFLAEM, SHFP, SHFPA, SHFPAE, SHFPAEM, SM, SMD, SMDA, SMDAA, SMDAAE, SMDAAEM, SMDH, SMDHA, SMDHAE, SMDHAEM, SMO, SMOA, SMOAA, SMOAAE, SMOAAEM, SMOE, SMOEA, SMOEAE, SMOEAEM, NUM_SKILLS, unknown, any, };