// Ryzom - MMORPG Framework
// 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 .
#ifndef RY_ITEM_INFOS_H
#define RY_ITEM_INFOS_H
#include "nel/misc/types_nl.h"
#include "damage_types.h"
#include "protection_type.h"
#include "people.h"
#include "skills.h"
#include "characteristics.h"
#include "sphrase_com.h"
#include "type_skill_mod.h"
///\structure defining the protection of an item
struct SProtection
{
inline SProtection():Factor(0.0f),Max(0){}
void serial( NLMISC::IStream & f )
{
f.serial( Factor );
f.serial( Max );
}
/// protection factor ( must be in [0..1] range 0 means no protection)
float Factor;
/// max absorbed damage
uint16 Max;
};
/**
* class used to store the item advanced infos and to send it to the client
* \author Nicolas Brigand
* \author Nevrax France
* \date 2003
*/
class CItemInfos
{
public:
enum
{
// The number of bits of the lower bits part (the index part)
// 10 because the trading list can have 1024 entries
SlotIdIndexBitSize= 11,
SlotIdIndexBitMask= (1< TypeSkillMods;
// magic focus factor
enum TMagicFactorType
{
OffensiveElemental=0, // elemental spells (DD acid, fire...)
OffensiveAffliction, // offensive affliction spells
DefensiveHeal, // heal spells
DefensiveAffliction, // defensive affliction spells
NumMagicFactorType
};
float CastingSpeedFactor[NumMagicFactorType];
float MagicPowerFactor[NumMagicFactorType];
CSPhraseCom Enchantment;
float WearEquipmentMalus; // Malus for wearing this equipment (malus is used when execute an magic, forage action, craft action...), malus is only applicable for weapon and armor pieces
ucstring CustomText;
ucstring R2ItemDescription;
ucstring R2ItemComment;
uint8 PetNumber; // 1 based pet index
//@}
};
#endif // RY_ITEM_INFOS_H
/* End of item_infos.h */