khanat-opennel-code/code/ryzom/common/src/game_share/item_infos.cpp
2017-03-15 20:43:10 +01:00

136 lines
3.4 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/>.
#include "stdpch.h"
#include "item_infos.h"
CItemInfos::CItemInfos()
{
slotId= 0;
versionInfo= 0;
Hp= 0;
HpMax= 0;
CreatorName= 0;
CurrentDamage= 0;
MaxDamage= 0;
HitRate= 0.0f;
SapLoadCurrent= 0;
SapLoadMax= 0;
Range= 0.0f;
ParryModifier= 0;
DodgeModifier= 0;
AdversaryParryModifier= 0;
AdversaryDodgeModifier= 0;
ProtectionFactor = 0.0f;
MaxSlashingProtection = 0;
MaxBluntProtection = 0;
MaxPiercingProtection = 0;
ChaScore1Buff = 0;
ChaScore3Buff = 0;
ChaScore2Buff = 0;
ChaScore4Buff = 0;
WearEquipmentMalus = 0.0f;
RequiredSkill = SKILLS::unknown;
RequiredSkillLevel = 0;
RequiredSkill2 = SKILLS::unknown;
RequiredSkillLevel2 = 0;
RequiredCharac = CHARACTERISTICS::Unknown;
RequiredCharacLevel = 0;
// magic focus factor
for(uint i=0;i<NumMagicFactorType;i++)
{
CastingSpeedFactor[i]= 0.f;
MagicPowerFactor[i]= 0.f;
}
// Protection factor
for(uint i=0;i<MaxMagicProtectionByJewel;i++)
{
MagicProtection[i]= PROTECTION_TYPE::None;
MagicProtectionFactor[i] = 0;
}
DesertMagicResistance = 0;
ForestMagicResistance = 0;
LacustreMagicResistance = 0;
JungleMagicResistance = 0;
PrimaryRootMagicResistance = 0;
PetNumber = 0; // 1 based!
}
void CItemInfos::serial(NLMISC::IStream & s)
{
s.serial( slotId );
s.serial( versionInfo );
s.serial( Hp );
s.serial( HpMax );
s.serial( CreatorName );
s.serial( CurrentDamage );
s.serial( MaxDamage );
s.serial( HitRate );
s.serial( SapLoadCurrent );
s.serial( SapLoadMax );
s.serial( Range );
s.serial( ParryModifier );
s.serial( DodgeModifier );
s.serial( AdversaryParryModifier );
s.serial( AdversaryDodgeModifier );
s.serial( ProtectionFactor );
s.serial( MaxSlashingProtection );
s.serial( MaxBluntProtection );
s.serial( MaxPiercingProtection );
for(uint i=0;i<MaxMagicProtectionByJewel;i++)
{
s.serialEnum( MagicProtection[i] );
s.serial( MagicProtectionFactor[i] );
}
s.serial( DesertMagicResistance );
s.serial( ForestMagicResistance );
s.serial( LacustreMagicResistance );
s.serial( JungleMagicResistance );
s.serial( PrimaryRootMagicResistance );
s.serial( ChaScore1Buff );
s.serial( ChaScore3Buff );
s.serial( ChaScore2Buff );
s.serial( ChaScore4Buff );
s.serial( Enchantment );
s.serial( WearEquipmentMalus );
s.serialEnum( RequiredSkill );
s.serial( RequiredSkillLevel );
s.serialEnum( RequiredSkill2 );
s.serial( RequiredSkillLevel2 );
s.serialEnum( RequiredCharac );
s.serial( RequiredCharacLevel );
s.serialCont( TypeSkillMods );
for(uint i=0;i<NumMagicFactorType;i++)
{
s.serial(CastingSpeedFactor[i]);
s.serial(MagicPowerFactor[i]);
}
s.serial( CustomText );
s.serial( R2ItemDescription );
s.serial( R2ItemComment );
s.serial( PetNumber );
}