Files
Client/GameTools/GLOBALSCRIPT/Item/ItemStructure.cpp
LGram16 dd97ddec92 Restructure repository to include all source folders
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>
2025-11-29 20:17:20 +09:00

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();
}