1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-26 14:37:44 +00:00
sapphire/src/servers/sapphire_zone/Inventory/Item.cpp

129 lines
2.2 KiB
C++
Raw Normal View History

2018-03-06 22:22:19 +01:00
#include <Common.h>
#include <Exd/ExdDataGenerated.h>
2018-06-30 12:49:34 +10:00
#include <CommonGen.h>
#include "Framework.h"
2017-08-08 13:53:47 +02:00
#include "Item.h"
2018-03-09 00:06:44 +01:00
extern Core::Framework g_fw;
2017-08-08 13:53:47 +02:00
2018-06-30 12:49:34 +10:00
Core::Item::Item( uint64_t uId, uint32_t catalogId, uint64_t model1, uint64_t model2, bool isHq ) :
2017-08-08 13:53:47 +02:00
m_id( catalogId ),
m_uId( uId ),
m_model1( model1 ),
m_model2( model2 ),
m_isHq( isHq )
{
2018-03-09 00:06:44 +01:00
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
auto itemInfo = pExdData->get< Core::Data::Item >( catalogId );
2018-06-30 12:49:34 +10:00
2018-01-31 11:43:22 +01:00
m_delayMs = itemInfo->delayms;
m_physicalDmg = itemInfo->damagePhys;
m_magicalDmg = itemInfo->damageMag;
m_weaponDmg = ( m_physicalDmg != 0 ) ? m_physicalDmg : m_magicalDmg;
m_autoAttackDmg = static_cast< float >( m_weaponDmg * m_delayMs ) / 3000;
2018-06-30 12:49:34 +10:00
m_category = static_cast< Common::ItemUICategory >( itemInfo->itemUICategory );
2018-01-31 11:43:22 +01:00
m_itemLevel = itemInfo->levelItem;
2017-08-08 13:53:47 +02:00
}
float Core::Item::getAutoAttackDmg() const
{
return m_autoAttackDmg;
}
2017-08-08 13:53:47 +02:00
uint16_t Core::Item::getDelay() const
{
return m_delayMs;
}
uint16_t Core::Item::getPhysicalDmg() const
{
return m_physicalDmg;
}
uint16_t Core::Item::getMagicalDmg() const
{
return m_magicalDmg;
}
uint16_t Core::Item::getItemLevel() const
{
return m_itemLevel;
}
uint16_t Core::Item::getWeaponDmg() const
{
return m_weaponDmg;
}
bool Core::Item::isWeapon() const
{
return (m_weaponDmg != 0);
}
2017-08-08 13:53:47 +02:00
uint32_t Core::Item::getId() const
{
return m_id;
}
void Core::Item::setId( uint32_t id )
{
m_id = id;
}
uint64_t Core::Item::getUId() const
{
return m_uId;
}
void Core::Item::setUId( uint64_t id )
{
m_uId = id;
}
void Core::Item::setStackSize( uint32_t size )
{
m_stackSize = size;
}
uint32_t Core::Item::getStackSize() const
{
return m_stackSize;
}
void Core::Item::setCategory( Common::ItemUICategory categoryId )
2017-08-08 13:53:47 +02:00
{
m_category = categoryId;
}
Core::Common::ItemUICategory Core::Item::getCategory() const
2017-08-08 13:53:47 +02:00
{
return m_category;
}
void Core::Item::setModelIds( uint64_t model1, uint64_t model2 )
{
m_model1 = model1;
m_model2 = model2;
}
uint64_t Core::Item::getModelId1() const
{
return m_model1;
}
uint64_t Core::Item::getModelId2() const
{
return m_model2;
}
bool Core::Item::isHq() const
{
return m_isHq;
}
void Core::Item::setHq( bool isHq )
{
m_isHq = isHq;
}