Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
70 lines
2.0 KiB
C++
70 lines
2.0 KiB
C++
#include "stdafx.h"
|
|
#include "ItemStructure.h"
|
|
#include <Log/ServerLog.h>
|
|
|
|
#include <algorithm>
|
|
|
|
Item::SpriteData::SpriteData() { Initialize(); }
|
|
|
|
void Item::SpriteData::Initialize()
|
|
{
|
|
memset(m_szName, 0, MAX_NAME);
|
|
memset(m_szSpriteName, 0, MAX_SPRITE_NAME);
|
|
|
|
m_nSpriteMinX = m_nSpriteMinY = m_nSpriteMaxX = m_nSpriteMaxY = 0;
|
|
}
|
|
|
|
Item::StringData::StringData() { Initialize(); }
|
|
void Item::StringData::Initialize()
|
|
{
|
|
memset(m_szFieldModelName, 0, MAX_FIELD_MODEL_NAME);
|
|
memset(m_szEquipModelName, 0, MAX_EQUIP_MODEL_NAME);
|
|
memset(m_szEffectSoundName, 0, MAX_EFFECT_SOUND_NAME);
|
|
memset(m_szItemDescribe, 0, MAX_ITEM_DESCRIBE);
|
|
}
|
|
|
|
Item::DetailData::DetailData() { Initialize(); }
|
|
void Item::DetailData::Initialize()
|
|
{
|
|
m_ItemGrade = Item::Grade::ETC;
|
|
m_dwFlags = m_dwPrice = m_dwBlackPrice = m_cOptionLimit = m_cItemType = m_cXSize = m_cYSize = m_cDefaultDurabilityOrStack =
|
|
m_cMaxDurabilityOrStack = m_cMaterialType = m_cMaxSocketNum = 0;
|
|
}
|
|
|
|
Item::EquipAttribute::EquipAttribute() { Initialize(); }
|
|
void Item::EquipAttribute::Initialize()
|
|
{
|
|
m_nAttibuteNum = 0;
|
|
std::fill_n(m_usAttributeValue, unsigned short(Item::Attribute::MAX_ATTRIBUTE_NUM), 0);
|
|
}
|
|
|
|
Item::UseItemInfo::UseItemInfo() { Initialize(); }
|
|
void Item::UseItemInfo::Initialize() { m_usSkill_ID = m_usSkill_LockCount = 0; }
|
|
|
|
|
|
Item::UseLimit::UseLimit() { Initialize(); }
|
|
void Item::UseLimit::Initialize()
|
|
{
|
|
std::fill_n(m_nStatusLimit, unsigned short(StatusLimit::MAX_STATUS_LIMIT), 0);
|
|
m_dwClassLimit = m_nSkillType = m_cSkillLevel = m_cLevelLimit = 0;
|
|
}
|
|
|
|
|
|
Item::ItemInfo::ItemInfo() { Initialize(); }
|
|
Item::ItemInfo::ItemInfo(unsigned short usProtoTypeID) { Initialize(); m_usProtoTypeID = usProtoTypeID; }
|
|
|
|
void Item::ItemInfo::Initialize()
|
|
{
|
|
m_usProtoTypeID = 0;
|
|
|
|
m_DetailData.Initialize();
|
|
m_UseLimit.Initialize();
|
|
m_SpriteData.Initialize();
|
|
m_StringData.Initialize();
|
|
|
|
m_EquipAttribute.Initialize();
|
|
m_UseItemInfo.Initialize();
|
|
}
|
|
|
|
|