1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-27 22:57:45 +00:00

Basic class to hold BNpcTemplate information

This commit is contained in:
Mordred 2018-08-26 23:53:30 +02:00
parent fffea9014f
commit ac68133fa3
3 changed files with 220 additions and 0 deletions

View file

@ -0,0 +1,141 @@
#include "BNpcTemplate.h"
#include <string>
Core::Entity::BNpcTemplate::BNpcTemplate( uint32_t baseId, uint32_t nameId, uint64_t weaponMain, uint64_t weaponSub,
uint8_t aggressionMode, uint8_t enemyType, uint8_t onlineStatus, uint8_t pose,
uint16_t modelChara, uint32_t displayFlags, uint32_t* modelEquip,
uint8_t* customize ) :
m_bNpcBaseId( baseId ),
m_bNpcNameId( nameId ),
m_weaponMain( weaponMain ),
m_weaponSub( weaponSub ),
m_aggressionMode( aggressionMode ),
m_enemyType( enemyType ),
m_onlineStatus( onlineStatus ),
m_pose( pose ),
m_modelChara( modelChara ),
m_displayFlags( displayFlags )
{
if( modelEquip )
memcpy( m_modelEquip, modelEquip, sizeof( m_modelEquip) );
if( customize )
memcpy( m_customize, customize, sizeof( m_customize) );
}
Core::Entity::BNpcTemplate::~BNpcTemplate()
{
}
uint32_t Core::Entity::BNpcTemplate::getBNpcBaseId() const
{
return m_bNpcBaseId;
}
void Core::Entity::BNpcTemplate::setBNpcBaseId( uint32_t bNpcBaseId )
{
m_bNpcBaseId = bNpcBaseId;
}
uint32_t Core::Entity::BNpcTemplate::getBNpcNameId() const
{
return m_bNpcNameId;
}
void Core::Entity::BNpcTemplate::setBNpcNameId( uint32_t bNpcNameId )
{
m_bNpcNameId = bNpcNameId;
}
uint64_t Core::Entity::BNpcTemplate::getWeaponMain() const
{
return m_weaponMain;
}
void Core::Entity::BNpcTemplate::setWeaponMain( uint64_t weaponMain )
{
m_weaponMain = weaponMain;
}
uint64_t Core::Entity::BNpcTemplate::getWeaponSub() const
{
return m_weaponSub;
}
void Core::Entity::BNpcTemplate::setWeaponSub( uint64_t weaponSub )
{
m_weaponSub = weaponSub;
}
uint8_t Core::Entity::BNpcTemplate::getAggressionMode() const
{
return m_aggressionMode;
}
void Core::Entity::BNpcTemplate::setAggressionMode( uint8_t aggressionMode )
{
m_aggressionMode = aggressionMode;
}
uint8_t Core::Entity::BNpcTemplate::getEnemyType() const
{
return m_enemyType;
}
void Core::Entity::BNpcTemplate::setEnemyType( uint8_t enemyType )
{
m_enemyType = enemyType;
}
uint8_t Core::Entity::BNpcTemplate::getOnlineStatus() const
{
return m_onlineStatus;
}
void Core::Entity::BNpcTemplate::setOnlineStatus( uint8_t onlineStatus )
{
m_onlineStatus = onlineStatus;
}
uint8_t Core::Entity::BNpcTemplate::getPose() const
{
return m_pose;
}
void Core::Entity::BNpcTemplate::setPose( uint8_t pose )
{
m_pose = pose;
}
uint16_t Core::Entity::BNpcTemplate::getModelChara() const
{
return m_modelChara;
}
void Core::Entity::BNpcTemplate::setModelChara( uint16_t modelChara )
{
m_modelChara = modelChara;
}
uint32_t Core::Entity::BNpcTemplate::getDisplayFlags() const
{
return m_displayFlags;
}
void Core::Entity::BNpcTemplate::setDisplayFlags( uint32_t displayFlags )
{
m_displayFlags = displayFlags;
}
const uint32_t* Core::Entity::BNpcTemplate::getModelEquip() const
{
return m_modelEquip;
}
const uint8_t* Core::Entity::BNpcTemplate::getCustomize() const
{
return m_customize;
}

View file

@ -0,0 +1,78 @@
#ifndef SAPPHIRE_BNPCTEMPLATE_H
#define SAPPHIRE_BNPCTEMPLATE_H
#include <stdint.h>
/*g_log.info( "|----> " + std::to_string( instance.bNPCBase ) +
" " + std::to_string( instance.mainWeaponModel ) +
", " + std::to_string( instance.secWeaponModel ) +
", " + std::to_string( instance.aggressionMode ) +
", " + std::to_string( instance.enemyType ) +
", " + std::to_string( instance.onlineStatus ) +
", " + std::to_string( instance.pose ) +
", " + std::to_string( instance.modelChara ) +
", " + std::to_string( instance.displayFlags ) +
", " + modelStr +
", " + cusStr +
", " + std::to_string( instance.gimmickId ) */
namespace Core
{
namespace Entity
{
class BNpcTemplate
{
private:
uint32_t m_bNpcBaseId;
uint32_t m_bNpcNameId;
uint64_t m_weaponMain;
uint64_t m_weaponSub;
uint8_t m_aggressionMode;
uint8_t m_enemyType;
uint8_t m_onlineStatus;
uint8_t m_pose;
uint16_t m_modelChara;
uint32_t m_displayFlags;
uint32_t m_modelEquip[10];
uint8_t m_customize[26];
public:
BNpcTemplate() {};
BNpcTemplate( uint32_t baseId, uint32_t nameId, uint64_t weaponMain, uint64_t weaponSub, uint8_t aggressionMode,
uint8_t enemyType, uint8_t onlineStatus, uint8_t pose, uint16_t modelChara, uint32_t displayFlags = 0,
uint32_t* modelEquip = nullptr, uint8_t* customize = nullptr );
virtual ~BNpcTemplate();
uint32_t getBNpcBaseId() const;
void setBNpcBaseId( uint32_t bNpcBaseId );
uint32_t getBNpcNameId() const;
void setBNpcNameId( uint32_t bNpcNameId );
uint64_t getWeaponMain() const;
void setWeaponMain( uint64_t weaponMain );
uint64_t getWeaponSub() const;
void setWeaponSub( uint64_t weaponSub );
uint8_t getAggressionMode() const;
void setAggressionMode( uint8_t aggressionMode );
uint8_t getEnemyType() const;
void setEnemyType( uint8_t enemyType );
uint8_t getOnlineStatus() const;
void setOnlineStatus( uint8_t m_onlineStatus );
uint8_t getPose() const;
void setPose( uint8_t m_pose );
uint16_t getModelChara() const;
void setModelChara( uint16_t modelChara );
uint32_t getDisplayFlags() const;
void setDisplayFlags( uint32_t displayFlags );
const uint32_t *getModelEquip() const;
const uint8_t *getCustomize() const;
};
}
}
#endif //SAPPHIRE_BNPCTEMPLATE_H

View file

@ -39,6 +39,7 @@ namespace Core
TYPE_FORWARD( Chara );
TYPE_FORWARD( Player );
TYPE_FORWARD( EventObject );
TYPE_FORWARD( BNpcTemplate );
}
namespace Event