mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-05 23:09:04 +00:00
Changed: Typo fixes and French comments translated to English (Thanks to DuDraig!)
This commit is contained in:
parent
f5dec3c1ca
commit
6eec6cb861
6 changed files with 102 additions and 116 deletions
|
@ -41,10 +41,10 @@ using namespace CLFECOMMON;
|
|||
* t| /
|
||||
* a| /
|
||||
* n| /
|
||||
* c|45ー /
|
||||
* c|45 /
|
||||
* e| /
|
||||
* |/
|
||||
* ー
|
||||
* o
|
||||
* Observer
|
||||
*
|
||||
* If Delta exceeds Distance/2, the priority shelf (bucket) is the highest one (H)
|
||||
|
|
|
@ -25,7 +25,7 @@ namespace NLOLDGEORGES
|
|||
{
|
||||
|
||||
|
||||
// La classe CFormFile représente un fichier composé d'un ensemble de fiches représentés par des fiches CForm.
|
||||
// CFormFile class represents a file with a set of CForm sheets.
|
||||
class CFormFile
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
namespace NLOLDGEORGES
|
||||
{
|
||||
|
||||
// La classe CFormHead comprend trois strings: le nom de l'utilisateur, la date de dernière modif et la version.
|
||||
// CFormHead class provides three strings: user name, last modification date and version.
|
||||
class CFormHead
|
||||
{
|
||||
protected:
|
||||
|
|
|
@ -23,10 +23,10 @@
|
|||
namespace NLOLDGEORGES
|
||||
{
|
||||
|
||||
// La classe CFormLoader est le point d'entrée des classes CForm pour charger une fiche.
|
||||
// Il y a deux fonctions load:
|
||||
// Sans date: donne directement la dernière fiche historiquement parlant
|
||||
// Avec date: donne une fiche composée de la dernière additionnés des historiques postérieurs ou égaux à la date.
|
||||
// CFormLoader class is CForm entry point to load a sheet.
|
||||
// There are two load functions:
|
||||
// Without date: give directly the last sheet
|
||||
// With date: give a sheet and all previous ones until this date
|
||||
class CFormLoader
|
||||
{
|
||||
protected:
|
||||
|
|
|
@ -28,10 +28,10 @@ CSString GroupTypContent;
|
|||
CSString WKContent;
|
||||
|
||||
|
||||
// Assigne une nouvelle MP à une creature
|
||||
// Assign a new raw mat to a creature
|
||||
void AssignerMP( const CSString& creatureName, const CSString& materialName )
|
||||
{
|
||||
// on regarde si la créature est dégénérée ou non
|
||||
// we check if a creature is degenerated or not
|
||||
if ( ( creatureName.c_str()[3] != 'c' ) && ( creatureName.c_str()[3] != 'd' )
|
||||
&& ( creatureName.c_str()[3] != 'f' ) && ( creatureName.c_str()[3] != 'j' )
|
||||
&& ( creatureName.c_str()[3] != 'l' ) && ( creatureName.c_str()[3] != 'p' ) )
|
||||
|
@ -43,7 +43,7 @@ void AssignerMP( const CSString& creatureName, const CSString& materialName )
|
|||
CSString fileName = toString( "%s//_%s_mp.creature", RAW_MATERIAL_ASSIGN.c_str(), creatureName.c_str() );
|
||||
CSString data;
|
||||
|
||||
// création si le fichier n'existe pas
|
||||
// create file if not exists
|
||||
if(!CFile::fileExists(fileName))
|
||||
{
|
||||
CSString str;
|
||||
|
@ -66,7 +66,7 @@ void AssignerMP( const CSString& creatureName, const CSString& materialName )
|
|||
|
||||
if ( !data.contains( materialName.c_str() ) )
|
||||
{
|
||||
// on recherche le premier numéro de MP non utilisé
|
||||
// look for first number of unused raw mat
|
||||
CSString str = data;
|
||||
int nb= 0;
|
||||
while ( str.contains( "Name=\"MP" ) )
|
||||
|
@ -75,7 +75,7 @@ void AssignerMP( const CSString& creatureName, const CSString& materialName )
|
|||
nb = str.firstWord().atoi();
|
||||
}
|
||||
|
||||
// on insère la nouvelle MP
|
||||
// insert new raw mat
|
||||
str = " <STRUCT Name=\"MP";
|
||||
str += toString( "%d\">\r\n <ATOM Name=\"AssociatedItem\"", nb+1 );
|
||||
str += toString( " Value=\"%s\"/>\r\n </STRUCT>\r\n </STRUCT>\r\n </STRUCT>\r\n", materialName.c_str() );
|
||||
|
@ -87,8 +87,7 @@ void AssignerMP( const CSString& creatureName, const CSString& materialName )
|
|||
}
|
||||
|
||||
|
||||
// enregistrement des differentes
|
||||
// caractéristiques de chaque craft part
|
||||
// save stats for each craft part
|
||||
void LoadCraftParts()
|
||||
{
|
||||
CSString data, ligne, info;
|
||||
|
@ -117,7 +116,7 @@ void LoadCraftParts()
|
|||
{
|
||||
ligne = data.splitTo( "\n", true );
|
||||
|
||||
// on recherche la ligne correspondant à notre craft part
|
||||
// look for line concerning our craft part
|
||||
info = ligne.splitTo( ";", true );
|
||||
if ( !info.empty() )
|
||||
{
|
||||
|
@ -126,13 +125,12 @@ void LoadCraftParts()
|
|||
for ( int i=0; i<6; i++ )
|
||||
ligne.splitTo( ";", true );
|
||||
|
||||
// parcours des différentes caractèristiques
|
||||
// browse each characteristics
|
||||
for ( int i=0; i<NumMPStats; i++ )
|
||||
{
|
||||
info = ligne.splitTo( ";", true ).left(1);
|
||||
|
||||
// si la cellule n'est pas vide, cette caractèristique
|
||||
// est générée par la craft part
|
||||
// if the cell is not empty, this characteristic is generated by craft part
|
||||
if ( ( info == "C" ) || ( info == "D" ) || ( info == "X" ) )
|
||||
craftParts[index].Carac[i] = true;
|
||||
else
|
||||
|
@ -143,7 +141,7 @@ void LoadCraftParts()
|
|||
}
|
||||
|
||||
|
||||
// Enregistre les noms des différents fichiers de creature dans le bestiaire
|
||||
// Save creatures filenames in bestiary
|
||||
void LoadCreatureFiles()
|
||||
{
|
||||
printf( "-- REGISTERING CREATURE FILES --\n" );
|
||||
|
@ -163,8 +161,7 @@ void LoadCreatureFiles()
|
|||
}
|
||||
|
||||
|
||||
// Enregistre pour chaque créature la liste des différents
|
||||
// niveaux d'item à générer
|
||||
// Save items levels list to generate for each creature
|
||||
void InitCreatureMP()
|
||||
{
|
||||
CSString data, ligneN, ligneM;
|
||||
|
@ -184,12 +181,12 @@ void InitCreatureMP()
|
|||
ligneN = data.splitTo( "\n", true );
|
||||
ligneM = data.splitTo( "\n", true );
|
||||
|
||||
// on vérifie que la ligne est valide
|
||||
// check if line is valid
|
||||
if ( !ligneN.splitTo( ";", true ).empty() )
|
||||
{
|
||||
ligneM.splitTo( ";", true );
|
||||
|
||||
// on se déplace jusqu'au données
|
||||
// move until data
|
||||
ligneN.splitTo( ";", true );
|
||||
ligneM.splitTo( ";", true );
|
||||
ligneN.splitTo( ";", true );
|
||||
|
@ -211,8 +208,7 @@ void InitCreatureMP()
|
|||
ligneN = "";
|
||||
}
|
||||
|
||||
// pour chaque nouveau nom de créature trouvé,
|
||||
// on enregistre les items à générer
|
||||
// save items to generate for each new creature name found
|
||||
for ( char eco='a'; eco<='z'; eco++ )
|
||||
{
|
||||
for ( int level=0; level<10; level++ )
|
||||
|
@ -221,12 +217,12 @@ void InitCreatureMP()
|
|||
{
|
||||
CSString fileName = toString( "c%s%c%c%d", code.toLower().c_str(), eco,
|
||||
'a' + level, creatureLevel );
|
||||
// on recherche si une créature correspond à ces données
|
||||
// look for corresponding creature
|
||||
it = creatureFiles.find( fileName );
|
||||
|
||||
if ( it != creatureFiles.end() )
|
||||
{
|
||||
// si oui, on signale que cet item devra être généré
|
||||
// if yes, this item should be generated
|
||||
CreatureMPItem* creatureMP = new CreatureMPItem;
|
||||
creatureMP->creatureLevel = creatureLevel;
|
||||
creatureMP->eco = eco;
|
||||
|
@ -246,7 +242,7 @@ void InitCreatureMP()
|
|||
}
|
||||
|
||||
|
||||
// Retourne la qualité maximum pour un level d'item
|
||||
// Return quality maximum foran item level
|
||||
int GetMaxQuality( int level )
|
||||
{
|
||||
if ( level == 0 )
|
||||
|
@ -256,7 +252,7 @@ int GetMaxQuality( int level )
|
|||
}
|
||||
|
||||
|
||||
// Retourne l'énergie maximum pour un level d'item
|
||||
// Return energy maximum for an item level
|
||||
int GetStatEnergy( int level )
|
||||
{
|
||||
if ( level == 0 )
|
||||
|
@ -266,7 +262,7 @@ int GetStatEnergy( int level )
|
|||
}
|
||||
|
||||
|
||||
// Retourne le nom de classe de l'item selon ses caractèristiques
|
||||
// Return item class name depending on its characteristics
|
||||
void GetItemClass( int level, bool mission, bool creature, CSString& outClassName )
|
||||
{
|
||||
static CSString missionClasses[] = { "Plain", "Average", "Prime", "Select",
|
||||
|
@ -308,7 +304,7 @@ bool endsWith( const CSString& s, const CSString& substring )
|
|||
}
|
||||
|
||||
|
||||
// Génére les noms d'un item
|
||||
// Generate item names
|
||||
void GenerateItemNames( const CSString& nomMP, char eco, int level, bool mission, bool creature, CSString& outStr )
|
||||
{
|
||||
CSString itemClass, prefix, singularWithNoPrefix;
|
||||
|
@ -411,7 +407,7 @@ void GenerateItemNames( const CSString& nomMP, char eco, int level, bool mission
|
|||
}
|
||||
|
||||
|
||||
// Retourne le numéro de la famille passée en paramètre
|
||||
// Return number of specified family
|
||||
int GetNumeroMP( const CSString& nomMP )
|
||||
{
|
||||
CSString result;
|
||||
|
@ -420,27 +416,25 @@ int GetNumeroMP( const CSString& nomMP )
|
|||
int res;
|
||||
|
||||
// *** Get the family number, and add it to faimly.typ if not already done
|
||||
// on recherche si la MP est présente
|
||||
// dans le fichier item_mp_family.typ
|
||||
// look for raw mat existence in item_mp_family.typ file
|
||||
sprintf( buffer, "%s\" Value=\"", nomMP.c_str() );
|
||||
result = FamilyTypContent.splitFrom( buffer );
|
||||
|
||||
// si oui, on retourne son numéro de MP
|
||||
// if yes, return raw mat number
|
||||
if ( !result.empty() )
|
||||
res = result.splitTo( "\"" ).atoi();
|
||||
else
|
||||
{
|
||||
// sinon, on génère un nouveau numéro :
|
||||
// on recupère le dernier numéro de MP (le max)
|
||||
// else, generate a new number:
|
||||
// get last raw mat number (the max)
|
||||
result = FamilyTypContent.splitTo( "<LOG>" ).right(10);
|
||||
result.splitTo( "\"", true );
|
||||
result = result.splitTo( "\"" );
|
||||
|
||||
// on ajoute 1 pour avoir un numéro non utilisé
|
||||
// increase by 1 to get the unused number
|
||||
res = result.atoi() + 1;
|
||||
|
||||
// on ajoute la nouvelle MP :
|
||||
// dans le fichier item_mp_family.typ
|
||||
// add new raw mat in file item_mp_family.typ
|
||||
sprintf( buffer, " <DEFINITION Label=\"%s\" Value=\"%d\"/>\n<LOG>", nomMP.c_str(), res );
|
||||
FamilyTypContent= FamilyTypContent.replace( "<LOG>", buffer );
|
||||
FamilyTypContent.writeToFile( ITEM_MP_FAMILY_TYP );
|
||||
|
@ -463,7 +457,7 @@ int GetNumeroMP( const CSString& nomMP )
|
|||
}
|
||||
|
||||
|
||||
// Retourne le numéro du groupe passé en paramètre
|
||||
// Return number from specified group
|
||||
int GetNumeroGroupe( const CSString& groupe )
|
||||
{
|
||||
CSString result;
|
||||
|
@ -472,27 +466,25 @@ int GetNumeroGroupe( const CSString& groupe )
|
|||
int res;
|
||||
|
||||
// *** Get the group number, and add it to group.typ if not already done
|
||||
// on recherche si le groupe est présent
|
||||
// dans le fichier item_mp_group.typ
|
||||
// look for group existence in item_mp_group.typ file
|
||||
sprintf( buffer, "%s\" Value=\"", groupe.c_str() );
|
||||
result = GroupTypContent.splitFrom( buffer );
|
||||
|
||||
// si oui, on retourne son numéro de groupe
|
||||
// if yes, return its group number
|
||||
if ( !result.empty() )
|
||||
res = result.splitTo( "\"" ).atoi();
|
||||
else
|
||||
{
|
||||
// sinon, on génère un nouveau numéro :
|
||||
// on recupère le dernier numéro de groupe (le max)
|
||||
// else, generate a new number :
|
||||
// get the last group number (the max)
|
||||
result = GroupTypContent.splitTo( "<LOG>" ).right(10);
|
||||
result.splitTo( "\"", true );
|
||||
result = result.splitTo( "\"" );
|
||||
|
||||
// on ajoute 1 pour avoir un numéro non utilisé
|
||||
// increase by 1 to get the unused number
|
||||
res = result.atoi() + 1;
|
||||
|
||||
// on ajoute la nouvelle MP :
|
||||
// dans le fichier item_mp_group.typ
|
||||
// add new raw mat in file item_mp_group.typ
|
||||
sprintf( buffer, "<DEFINITION Label=\"%s\" Value=\"%d\"/>\n<LOG>", groupe.c_str(), res );
|
||||
GroupTypContent= GroupTypContent.replace( "<LOG>", buffer );
|
||||
GroupTypContent.writeToFile( ITEM_MP_GROUPE_TYP );
|
||||
|
@ -516,7 +508,7 @@ int GetNumeroGroupe( const CSString& groupe )
|
|||
}
|
||||
|
||||
|
||||
// Génère l'item parent pour une MP
|
||||
// Generate parent item for a raw mat
|
||||
void CreateParentSItem( int numMP,
|
||||
const CSString& nomMP,
|
||||
const CSString& groupe,
|
||||
|
@ -527,10 +519,10 @@ void CreateParentSItem( int numMP,
|
|||
CSString output;
|
||||
CSString outputFileName;
|
||||
|
||||
// nom du fichier de sortie
|
||||
// output filename
|
||||
outputFileName = toString( "%s_parent\\_m%04d.sitem", MP_DIRECTORY.c_str(), numMP );
|
||||
|
||||
// entete xml
|
||||
// xml header
|
||||
output = "<?xml version=\"1.0\"?>\n<FORM Version=\"0.0\" State=\"modified\">\n";
|
||||
|
||||
// basics
|
||||
|
@ -538,15 +530,15 @@ void CreateParentSItem( int numMP,
|
|||
output += " <ATOM Name=\"Drop or Sell\" Value=\"";
|
||||
|
||||
if ( !dropOrSell )
|
||||
// il s'agit d'un item de mission, non vendable
|
||||
// mission items can't be sold
|
||||
output += "false\"/>\n";
|
||||
else
|
||||
// sinon, on peut le vendre
|
||||
// the others, yes
|
||||
output += "true\"/>\n";
|
||||
|
||||
output += " <ATOM Name=\"Bulk\" Value=\"0.5\"/>\n </STRUCT>\n";
|
||||
|
||||
// mp
|
||||
// raw mat
|
||||
output += " <STRUCT Name=\"mp\">\n";
|
||||
output += " <ATOM Name=\"Family\" Value=\"";
|
||||
output += nomMP;
|
||||
|
@ -573,16 +565,16 @@ void CreateParentSItem( int numMP,
|
|||
|
||||
output += " </STRUCT>\n </STRUCT>\n";
|
||||
|
||||
// fin du fichier
|
||||
// end of file
|
||||
output += " <STRUCT/>\n <STRUCT/>\n <STRUCT/>\n <STRUCT/>\n</FORM>\n";
|
||||
|
||||
// écriture finale
|
||||
// final write
|
||||
output.writeToFile( outputFileName );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Remplit les différents informations concernant le craft par un item
|
||||
// Fill information related to craft with an item
|
||||
void FillCraftData( char craft, int eco, int level, bool creature, int bestStat,
|
||||
int worstStat1, int worstStat2, CSString& outStr )
|
||||
{
|
||||
|
@ -630,8 +622,7 @@ void FillCraftData( char craft, int eco, int level, bool creature, int bestStat,
|
|||
|
||||
currentDocItem.push( DtCraftSlotName, craftParts[index].Desc.splitFrom( "(" ).splitTo( ")" ) );
|
||||
|
||||
// enregistrements des stats de chaque
|
||||
// caractèristique
|
||||
// save stats for each characteristic
|
||||
for ( int i=0; i<NumMPStats; i++ )
|
||||
{
|
||||
if ( craftParts[index].Carac[i] )
|
||||
|
@ -641,7 +632,7 @@ void FillCraftData( char craft, int eco, int level, bool creature, int bestStat,
|
|||
else
|
||||
stat = mediumStatsByStatQuality[ level ];
|
||||
|
||||
// gestion des points forts/faibles de la MP
|
||||
// manage weak/strong points of a raw mat
|
||||
if ( i == bestStat )
|
||||
{
|
||||
if ( worstStat2 == -1 )
|
||||
|
@ -651,8 +642,7 @@ void FillCraftData( char craft, int eco, int level, bool creature, int bestStat,
|
|||
|
||||
if ( stat > 100 )
|
||||
{
|
||||
// si une des stats dépasse 100, les autres
|
||||
// stats sont augmentées
|
||||
// if a stat exceeds 100, other are increased
|
||||
remaining = stat - 100;
|
||||
stat = 100;
|
||||
}
|
||||
|
@ -661,7 +651,7 @@ void FillCraftData( char craft, int eco, int level, bool creature, int bestStat,
|
|||
{
|
||||
stat -= 20;
|
||||
|
||||
// durabilité minimum
|
||||
// minimum durability
|
||||
if ( ( i == 0 ) && ( stat < 1 ) )
|
||||
stat = 1;
|
||||
}
|
||||
|
@ -677,7 +667,7 @@ void FillCraftData( char craft, int eco, int level, bool creature, int bestStat,
|
|||
if ( nbToRaise != 0 )
|
||||
ajout = remaining/nbToRaise;
|
||||
|
||||
// ajout des informations pour chaque carac
|
||||
// add information for each characteristic
|
||||
for ( int i=0; i<NumMPStats; i++ )
|
||||
{
|
||||
if ( stats[i] != -1 )
|
||||
|
@ -696,7 +686,7 @@ void FillCraftData( char craft, int eco, int level, bool creature, int bestStat,
|
|||
}
|
||||
}
|
||||
|
||||
// CraftCivSpec en fonction de l'écosystème
|
||||
// CraftCivSpec depending on ecosystem
|
||||
outStr += " <ATOM Name=\"CraftCivSpec\" Value=\"";
|
||||
CSString craftCiv;
|
||||
|
||||
|
@ -739,7 +729,7 @@ void FillCraftData( char craft, int eco, int level, bool creature, int bestStat,
|
|||
}
|
||||
|
||||
|
||||
// Création d'une fiche d'item
|
||||
// Create item sheets
|
||||
void CreateSheet( int numMP, const CSString& nomMP,
|
||||
const CSString& code, char eco,
|
||||
int level, const MPCraftStats& craftStats,
|
||||
|
@ -801,7 +791,7 @@ void CreateSheet( int numMP, const CSString& nomMP,
|
|||
else
|
||||
currentDocItem.push( DtLevelZone, "-" );
|
||||
|
||||
// remplissage des informations de la fiche
|
||||
// fill sheets information
|
||||
output = "<?xml version=\"1.0\"?>\n<FORM Version=\"0.0\" State=\"modified\">\n";
|
||||
output += " <PARENT Filename=\"_m";
|
||||
output += eco;
|
||||
|
@ -809,7 +799,7 @@ void CreateSheet( int numMP, const CSString& nomMP,
|
|||
output += chaineNum;
|
||||
output += ".sitem\"/>\n";
|
||||
|
||||
// le code est celui d'une créature, on doit donc rajouter le parent
|
||||
// if a creature code, add it its parent
|
||||
if ( creature )
|
||||
{
|
||||
output += " <PARENT Filename=\"_m";
|
||||
|
@ -824,7 +814,7 @@ void CreateSheet( int numMP, const CSString& nomMP,
|
|||
output += " <STRUCT Name=\"mp\">\n";
|
||||
output += " <ATOM Name=\"MpColor\" Value=\"";
|
||||
|
||||
// materiaux de missions toujours Beige
|
||||
// mission materials always Beige
|
||||
if ( craftStats.Craft.empty() )
|
||||
{
|
||||
output += "Beige\"/>\n";
|
||||
|
@ -833,14 +823,14 @@ void CreateSheet( int numMP, const CSString& nomMP,
|
|||
}
|
||||
else
|
||||
{
|
||||
// on récupère la couleur
|
||||
// get the color
|
||||
GetItemColor( craftStats.color, eco, level, color );
|
||||
output += color;
|
||||
output += "\"/>\n";
|
||||
|
||||
currentDocItem.push( DtColor, color );
|
||||
|
||||
// on ajoute les données de craft
|
||||
// add craft data
|
||||
output += " <STRUCT Name=\"MpParam\">\n";
|
||||
for ( uint i=0; i<craftStats.Craft.size(); i++ )
|
||||
{
|
||||
|
@ -906,7 +896,7 @@ void CreateSheet( int numMP, const CSString& nomMP,
|
|||
|
||||
output.writeToFile( toString( "%s%s\\%s", MP_DIRECTORY.c_str(), directory.c_str(), outputFileName.c_str() ) );
|
||||
|
||||
// Génération des noms
|
||||
// Generate names
|
||||
if ( !specialItem )
|
||||
{
|
||||
outputFileName = toString( "m%04d%s%c%c%02d", numMP, code.c_str(), eco, 'a' + level, variation );
|
||||
|
@ -934,7 +924,7 @@ void CreateSheet( int numMP, const CSString& nomMP,
|
|||
}
|
||||
|
||||
|
||||
// Pour une MP se trouvant dans des déposits, génération de ses items
|
||||
// Generate deposits items for harvested raw mats
|
||||
void GenerateDepositItems( int numMP, const CSString& nomMP, const MPCraftStats& craftStats, const CSString& loc )
|
||||
{
|
||||
CSString code;
|
||||
|
@ -959,11 +949,11 @@ void GenerateDepositItems( int numMP, const CSString& nomMP, const MPCraftStats&
|
|||
}
|
||||
else
|
||||
{
|
||||
// 2 items dans common
|
||||
// 2 items in common
|
||||
CreateSheet( numMP, nomMP, code, 'c', 1, craftStats );
|
||||
CreateSheet( numMP, nomMP, code, 'c', 2, craftStats );
|
||||
|
||||
// 3 items par zone
|
||||
// 3 items per zone
|
||||
for ( int i=0; i<3; i++ )
|
||||
{
|
||||
CreateSheet( numMP, nomMP, code, 'd', 3+i, craftStats );
|
||||
|
@ -976,24 +966,24 @@ void GenerateDepositItems( int numMP, const CSString& nomMP, const MPCraftStats&
|
|||
}
|
||||
|
||||
|
||||
// Pour une MP se trouvant sur un créature, génération de ses items
|
||||
// Generate creatures items for a looted raw mat
|
||||
void GenerateCreatureItems( int numMP, CSString& nomMP, const MPCraftStats& craftStats )
|
||||
{
|
||||
map<CSString, ListeCreatureMP>::const_iterator itLCMP;
|
||||
int quality;
|
||||
static int statQuality[] = { 0, 1, 0, 1, 3, 6, 4, 2 };
|
||||
|
||||
// On obtient la liste des niveau d'item à generer pour la créature
|
||||
// Get items levels to generate for the creature
|
||||
itLCMP = itemsAGenerer.find( nomMP.firstWord() );
|
||||
|
||||
if ( itLCMP != itemsAGenerer.end() )
|
||||
{
|
||||
ListeCreatureMP::const_iterator itMP = (*itLCMP).second.begin();
|
||||
|
||||
// pour chaque niveau d'item à générer
|
||||
// for each level of an item to generate
|
||||
while ( itMP != (*itLCMP).second.end() )
|
||||
{
|
||||
// on enregistre ses caractéristiques
|
||||
// save its stats
|
||||
char eco = (*itMP)->eco;
|
||||
int creatureLevel = (*itMP)->creatureLevel;
|
||||
int itemLevel = (*itMP)->itemLevel;
|
||||
|
@ -1043,7 +1033,7 @@ void GenerateCreatureItems( int numMP, CSString& nomMP, const MPCraftStats& craf
|
|||
}
|
||||
|
||||
|
||||
// Génération d'un item spécial
|
||||
// Generate special item
|
||||
void GenerateSpecialItem( int numMP, const CSString& nomMP, const MPCraftStats& craftStats,
|
||||
const CSString& loc,CSString& itemData, int variation )
|
||||
{
|
||||
|
@ -1060,15 +1050,15 @@ void GenerateSpecialItem( int numMP, const CSString& nomMP, const MPCraftStats&
|
|||
CreateSheet( numMP, nomMP, code, info.c_str()[0], info.c_str()[1]-'a', craftStats, true, variation );
|
||||
|
||||
name = toString( "m%04d%s%s%02d\t", numMP, code.c_str(), info.c_str(), variation );
|
||||
name += itemData.splitTo( "/", true ); // singulier
|
||||
name += itemData.splitTo( "/", true ); // singular
|
||||
name += "\t";
|
||||
name += itemData.splitTo( "/", true ); // article indéfini
|
||||
name += itemData.splitTo( "/", true ); // undefined article
|
||||
name += "\t";
|
||||
name += itemData.splitTo( "/", true ); // article défini
|
||||
name += itemData.splitTo( "/", true ); // defined article
|
||||
name += "\t";
|
||||
name += itemData.splitTo( "/", true ); // pluriel
|
||||
name += itemData.splitTo( "/", true ); // plural
|
||||
name += "\t\t";
|
||||
name += itemData.splitTo( "/", true ); // article pluriel
|
||||
name += itemData.splitTo( "/", true ); // plural article
|
||||
|
||||
itemNames.insert( name );
|
||||
}
|
||||
|
@ -1095,7 +1085,7 @@ void parseSpecialAttributes(const CSString &specialAttributes, MPCraftStats &cra
|
|||
}
|
||||
|
||||
|
||||
// Nouvelle MP à traiter
|
||||
// New raw mat to process
|
||||
void NewMP( CSString& ligne )
|
||||
{
|
||||
CSString nomMP, groupe, loc, icon, overlay, special, stat, specialAttributes;
|
||||
|
@ -1113,7 +1103,7 @@ void NewMP( CSString& ligne )
|
|||
return;
|
||||
}
|
||||
|
||||
// récupération des infos
|
||||
// get information
|
||||
groupe = ligne.splitTo( ";", true );
|
||||
craftStats.Craft = ligne.splitTo( ";", true );
|
||||
specialAttributes= ligne.splitTo( ";" , true );
|
||||
|
@ -1189,7 +1179,7 @@ void NewMP( CSString& ligne )
|
|||
currentDocItem.push( DtRMFamily, nomMP );
|
||||
currentDocItem.push( DtGroup, groupe );
|
||||
|
||||
// récupréation du numéro de MP
|
||||
// get raw mat number
|
||||
numMP = GetNumeroMP( nomMP );
|
||||
printf( " Processing Family %d : %s\n", numMP, nomMP.c_str() );
|
||||
|
||||
|
@ -1203,12 +1193,12 @@ void NewMP( CSString& ligne )
|
|||
MPFamilies[numMP].Icon= icon;
|
||||
|
||||
|
||||
// MP trouvées dans les déposits ou dans la goo
|
||||
// raw mats found in deposits or goo
|
||||
if ( loc.left(1) != "C" )
|
||||
{
|
||||
if ( !specialOnly )
|
||||
{
|
||||
// Génération des items
|
||||
// Generate items
|
||||
GenerateDepositItems( numMP, nomMP, craftStats, loc );
|
||||
}
|
||||
|
||||
|
@ -1221,14 +1211,14 @@ void NewMP( CSString& ligne )
|
|||
|
||||
overlay = nomMP.firstWord().toUpper().left(6);
|
||||
}
|
||||
// MP trouvées sur les creature
|
||||
// looted raw mats
|
||||
else
|
||||
{
|
||||
GenerateCreatureItems( numMP, nomMP, craftStats );
|
||||
}
|
||||
|
||||
|
||||
// items spéciaux
|
||||
// special items
|
||||
CSString codeSpecial, nouveauCode;
|
||||
int variation = 1;
|
||||
CSortedStringSet::const_iterator it = specialNames.begin();
|
||||
|
@ -1250,7 +1240,7 @@ void NewMP( CSString& ligne )
|
|||
}
|
||||
|
||||
|
||||
// Création de la fiche parente pour la MP
|
||||
// Create parent sheet for raw mat
|
||||
CreateParentSItem( numMP, nomMP, groupe, extraInfo.DropOrSell, icon, overlay );
|
||||
|
||||
currentDocItem.reset( DtRMFamily );
|
||||
|
@ -1260,7 +1250,7 @@ void NewMP( CSString& ligne )
|
|||
}
|
||||
|
||||
|
||||
// Génération du Primitive Necklace (objet particulier)
|
||||
// Generate Primitive Necklace (special object)
|
||||
void CreatePrimitiveNecklace()
|
||||
{
|
||||
CSString output;
|
||||
|
@ -1282,7 +1272,7 @@ void CreatePrimitiveNecklace()
|
|||
}
|
||||
|
||||
|
||||
// Enregistre les différents noms
|
||||
// Save names
|
||||
void ItemNamesSave()
|
||||
{
|
||||
printf( "-- SAVING ITEM NAMES --\n");
|
||||
|
@ -1325,8 +1315,7 @@ void ItemNamesSave()
|
|||
}
|
||||
|
||||
|
||||
// Charge les différentes Customized Properties
|
||||
// définies dans raw_material_generation.cfg
|
||||
// Load Customized Properties defined in raw_material_generation.cfg
|
||||
void LoadCustomizedProperties()
|
||||
{
|
||||
CSString data, name, prop, val;
|
||||
|
@ -1356,7 +1345,7 @@ void LoadCustomizedProperties()
|
|||
CSString fileName, str, output;
|
||||
fileName = CPath::lookup( name, false, false, true );
|
||||
|
||||
// on vérifie que le fichier concerné existe
|
||||
// check if file exists
|
||||
if ( !fileName.empty() )
|
||||
{
|
||||
CSString zone = prop.splitTo( ".", true );
|
||||
|
@ -1368,7 +1357,7 @@ void LoadCustomizedProperties()
|
|||
output += toString( "%s\">\n <ATOM Name=\"", zone.c_str() );
|
||||
output += toString( "%s\" Value=\"%s\"/>\n </STRUCT>", prop.c_str(), val.c_str() );
|
||||
|
||||
// on vérifie que la propriétés n'a pas déjà été insérée
|
||||
// check if property is not already inserted
|
||||
if ( !str.contains( output.c_str() ) )
|
||||
{
|
||||
str = str.replace( "<STRUCT>", output.c_str() );
|
||||
|
@ -1381,7 +1370,7 @@ void LoadCustomizedProperties()
|
|||
output += toString( " <ATOM Name=\"" );
|
||||
output += toString( "%s\" Value=\"%s\"/>\n", prop.c_str(), val.c_str() );
|
||||
|
||||
// on vérifie que la propriétés n'a pas déjà été insérée
|
||||
// check if property is not already inserted
|
||||
if ( !str.contains( toString( "%s\" Value=\"%s\"/>\n", prop.c_str(), val.c_str() ).c_str() ) )
|
||||
{
|
||||
str = str.replace( toString( " <STRUCT Name=\"%s\">\n", zone.c_str() ).c_str(), output.c_str() );
|
||||
|
@ -1422,7 +1411,7 @@ void SaveFamiliesForageSource()
|
|||
}
|
||||
|
||||
|
||||
// Génère la documentation
|
||||
// Generate documentation
|
||||
void GenerateDoc()
|
||||
{
|
||||
CProducedDocHtml MainDoc;
|
||||
|
@ -1470,7 +1459,7 @@ void GenerateDoc()
|
|||
}
|
||||
|
||||
|
||||
// Initialise les repertoires à partir de raw_material_generation.cfg
|
||||
// Initialize directories from raw_material_generation.cfg
|
||||
void SetupDirectories()
|
||||
{
|
||||
CSString data;
|
||||
|
@ -1503,8 +1492,7 @@ void SetupDirectories()
|
|||
}
|
||||
|
||||
|
||||
// Parcours les différentes familles de MP pour effectuer
|
||||
// les traitements nécessaires
|
||||
// Browse all raw mats families to do all related processes
|
||||
void LoadFamillesMP()
|
||||
{
|
||||
printf( "-- LOADING RAW MATERIAL FAMILIES --\n" );
|
||||
|
@ -1530,14 +1518,13 @@ void LoadFamillesMP()
|
|||
|
||||
ligne = fileData.splitTo( "\n", true );
|
||||
|
||||
while ( ligne != "" )
|
||||
while ( !ligne.empty() )
|
||||
{
|
||||
NewMP( ligne );
|
||||
ligne = fileData.splitTo( "\n", true );
|
||||
}
|
||||
|
||||
// le Primitive Necklace n'étant pas spécifié dans la liste des MP
|
||||
// on le rajoute à la main
|
||||
// we manually add Primitive Necklace because it's not specified in raw mats list
|
||||
CreatePrimitiveNecklace();
|
||||
}
|
||||
|
||||
|
|
|
@ -105,20 +105,19 @@ public:
|
|||
};
|
||||
|
||||
//////////////////////////////////
|
||||
// VARIABLES GLOBALES //
|
||||
// GLOBAL VARIABLES //
|
||||
//////////////////////////////////
|
||||
|
||||
// Liste des différentes Craft parts
|
||||
// Craft parts list
|
||||
CraftPart craftParts[NumMPCraftParts];
|
||||
|
||||
// Liste des fichiers .creature
|
||||
// .creature files list
|
||||
map<string, string> creatureFiles;
|
||||
|
||||
// noms générés pour chaque item
|
||||
// generated names for each item
|
||||
CSortedStringSet itemNames;
|
||||
|
||||
// Liste des items à generer
|
||||
// pour chaque code de créature
|
||||
// Items list to generate for each creature code
|
||||
map<CSString, ListeCreatureMP> itemsAGenerer;
|
||||
|
||||
// MP Family list
|
||||
|
@ -133,7 +132,7 @@ public:
|
|||
std::vector<CMPFamily> MPFamilies;
|
||||
|
||||
|
||||
// chemin des différents repertoires
|
||||
// directories pathes
|
||||
CSString LEVEL_DESIGN_PATH;
|
||||
CSString TRANSLATION_PATH;
|
||||
|
||||
|
|
Loading…
Reference in a new issue