mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-10 09:19:01 +00:00
151 lines
No EOL
3.3 KiB
C++
151 lines
No EOL
3.3 KiB
C++
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||
// Copyright (C) 2010 Winch Gate Property Limited
|
||
//
|
||
// This program is free software: you can redistribute it and/or modify
|
||
// it under the terms of the GNU Affero General Public License as
|
||
// published by the Free Software Foundation, either version 3 of the
|
||
// License, or (at your option) any later version.
|
||
//
|
||
// This program is distributed in the hope that it will be useful,
|
||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
// GNU Affero General Public License for more details.
|
||
//
|
||
// You should have received a copy of the GNU Affero General Public License
|
||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
|
||
#ifndef MOULINETTE_H_
|
||
#define MOULINETTE_H_
|
||
|
||
|
||
//////////////////////////////////
|
||
// INCLUDE FILES //
|
||
//////////////////////////////////
|
||
#include <nel/misc/types_nl.h>
|
||
#include <nel/misc/sstring.h>
|
||
#include "nel/misc/path.h"
|
||
#include <nel/misc/file.h>
|
||
|
||
//////////////////////////////////
|
||
// USED NAMESPACES //
|
||
//////////////////////////////////
|
||
using namespace NLMISC;
|
||
using namespace std;
|
||
|
||
|
||
//////////////////////////////////
|
||
// DATA STRUCTURES //
|
||
//////////////////////////////////
|
||
|
||
enum
|
||
{
|
||
NumMPStats= 34,
|
||
NumMPCraftParts= 26, // Warning: changing this value won't be sufficient.
|
||
// You'll have to look deeper into code
|
||
};
|
||
|
||
// Contains Craft Part description and different stats related
|
||
struct CraftPart
|
||
{
|
||
CSString Desc;
|
||
bool Carac[NumMPStats];
|
||
};
|
||
|
||
// Raw mats stats for craft
|
||
struct MPCraftStats
|
||
{
|
||
CSString Craft;
|
||
bool UsedAsCraftRequirement;
|
||
int bestStatA;
|
||
int worstStatA1;
|
||
int worstStatA2;
|
||
int bestStatB;
|
||
int worstStatB1;
|
||
int worstStatB2;
|
||
int color;
|
||
|
||
MPCraftStats()
|
||
{
|
||
UsedAsCraftRequirement= false;
|
||
}
|
||
};
|
||
|
||
// Allows to sort strings
|
||
struct ItemSort : public std::less<NLMISC::CSString>
|
||
{
|
||
bool operator()( const NLMISC::CSString& x, const NLMISC::CSString& y ) const
|
||
{
|
||
return x.icompare( y );
|
||
}
|
||
};
|
||
typedef set<CSString, ItemSort> CSortedStringSet;
|
||
|
||
// Describe a item generated for a creature raw mat
|
||
struct CreatureMPItem
|
||
{
|
||
char eco;
|
||
int itemLevel;
|
||
int creatureLevel;
|
||
CSString codeCreature;
|
||
CSortedStringSet generatedItems;
|
||
CSString creatureFileName;
|
||
};
|
||
typedef list<CreatureMPItem*> ListeCreatureMP;
|
||
|
||
// Misc Info on a MP family
|
||
class CExtraInfo
|
||
{
|
||
public:
|
||
bool DropOrSell;
|
||
|
||
CExtraInfo()
|
||
{
|
||
DropOrSell= false;
|
||
}
|
||
};
|
||
|
||
//////////////////////////////////
|
||
// VARIABLES GLOBALES //
|
||
//////////////////////////////////
|
||
|
||
// Liste des diff<66>rentes Craft parts
|
||
CraftPart craftParts[NumMPCraftParts];
|
||
|
||
// Liste des fichiers .creature
|
||
map<string, string> creatureFiles;
|
||
|
||
// noms g<>n<EFBFBD>r<EFBFBD>s pour chaque item
|
||
CSortedStringSet itemNames;
|
||
|
||
// Liste des items <20> generer
|
||
// pour chaque code de cr<63>ature
|
||
map<CSString, ListeCreatureMP> itemsAGenerer;
|
||
|
||
// MP Family list
|
||
class CMPFamily
|
||
{
|
||
public:
|
||
// Name of the family
|
||
CSString Name;
|
||
// Icon
|
||
CSString Icon;
|
||
};
|
||
std::vector<CMPFamily> MPFamilies;
|
||
|
||
|
||
// chemin des diff<66>rents repertoires
|
||
CSString LEVEL_DESIGN_PATH;
|
||
CSString TRANSLATION_PATH;
|
||
|
||
CSString ITEM_MP_FAMILY_TYP;
|
||
CSString ITEM_MP_GROUPE_TYP;
|
||
CSString ITEM_MP_PARAM_DFN;
|
||
CSString MP_DIRECTORY;
|
||
CSString DEPOSIT_MPS;
|
||
CSString RAW_MATERIAL_ASSIGN;
|
||
CSString IC_FAMILIES_FORAGE_SOURCE;
|
||
|
||
CSString WK_UXT;
|
||
CSString ITEM_WORDS_WK;
|
||
|
||
#endif |