From 762b5f4047073b60caa86478271185997b414a6a Mon Sep 17 00:00:00 2001 From: AriAvery <41122212+AriAvery@users.noreply.github.com> Date: Mon, 19 Nov 2018 09:40:44 +0100 Subject: [PATCH 1/7] house class + fixes --- .../Scripts/common/CmnDefHousingSignboard.cpp | 2 +- src/servers/sapphire_zone/ForwardsZone.h | 1 + src/servers/sapphire_zone/Zone/House.cpp | 67 +++++++++++++++++++ src/servers/sapphire_zone/Zone/House.h | 47 +++++++++++++ src/servers/sapphire_zone/Zone/HousingMgr.cpp | 6 +- src/servers/sapphire_zone/Zone/HousingMgr.h | 4 +- .../sapphire_zone/Zone/HousingZone.cpp | 3 +- src/servers/sapphire_zone/Zone/Land.cpp | 7 ++ src/servers/sapphire_zone/Zone/Land.h | 3 + 9 files changed, 132 insertions(+), 8 deletions(-) create mode 100644 src/servers/sapphire_zone/Zone/House.cpp create mode 100644 src/servers/sapphire_zone/Zone/House.h diff --git a/src/servers/Scripts/common/CmnDefHousingSignboard.cpp b/src/servers/Scripts/common/CmnDefHousingSignboard.cpp index 4fa2d53f..5ca17950 100644 --- a/src/servers/Scripts/common/CmnDefHousingSignboard.cpp +++ b/src/servers/Scripts/common/CmnDefHousingSignboard.cpp @@ -37,7 +37,7 @@ public: auto pHousing = std::dynamic_pointer_cast< HousingZone >( pTerritory ); auto pHouMgr = pFw->get< Core::HousingMgr >(); - LandPurchaseResult res = pHouMgr->purchseLand( player, activeLand.plot, + LandPurchaseResult res = pHouMgr->purchaseLand( player, activeLand.plot, static_cast< uint8_t >( result.param2 ) ); switch( res ) diff --git a/src/servers/sapphire_zone/ForwardsZone.h b/src/servers/sapphire_zone/ForwardsZone.h index 566b8856..61abb4e7 100644 --- a/src/servers/sapphire_zone/ForwardsZone.h +++ b/src/servers/sapphire_zone/ForwardsZone.h @@ -21,6 +21,7 @@ TYPE_FORWARD( Cell ); TYPE_FORWARD( Zone ); TYPE_FORWARD( HousingZone ); TYPE_FORWARD( HousingMgr ); +TYPE_FORWARD( House ); TYPE_FORWARD( InstanceContent ); TYPE_FORWARD( Item ); TYPE_FORWARD( ItemContainer ); diff --git a/src/servers/sapphire_zone/Zone/House.cpp b/src/servers/sapphire_zone/Zone/House.cpp new file mode 100644 index 00000000..a4799177 --- /dev/null +++ b/src/servers/sapphire_zone/Zone/House.cpp @@ -0,0 +1,67 @@ +#include + +#include +#include + +#include "House.h" + +#include +#include "Framework.h" + +extern Core::Framework g_fw; + +Core::House::House( uint32_t houseId, uint32_t landSetId, uint8_t landId, uint8_t wardNum, uint16_t zoneId ) : + m_houseId( houseId ), + m_landSetId( landSetId ), + m_landId( landId ), + m_wardNum( wardNum ), + m_zoneId( zoneId ) +{ + memset( &m_houseParts, 0x00, 8 ); + memset( &m_HouseMsg, 0x00, 193 ); +} + +Core::House::~House() +{ + +} + +uint32_t Core::House::getLandSetId() +{ + return m_landSetId; +} + +uint8_t Core::House::getLandId() +{ + return m_landId; +} + +uint8_t Core::House::getWardNum() +{ + return m_wardNum; +} + +uint32_t Core::House::getHouseId() +{ + return m_houseId; +} + +uint8_t Core::House::getHousePartColor( Common::HousePartSlot slot ) +{ + return m_housePartsColor[ slot ]; +} + +void Core::House::setHousePart( Common::HousePartSlot slot, uint32_t id ) +{ + m_houseParts[ slot ] = id; +} + +void Core::House::setHousePartColor( Common::HousePartSlot slot, uint32_t id ) +{ + m_housePartsColor[ slot ] = id; +} + +uint32_t Core::House::getHousePart( Common::HousePartSlot slot ) +{ + return m_houseParts[ slot ]; +} diff --git a/src/servers/sapphire_zone/Zone/House.h b/src/servers/sapphire_zone/Zone/House.h new file mode 100644 index 00000000..2aad0f8f --- /dev/null +++ b/src/servers/sapphire_zone/Zone/House.h @@ -0,0 +1,47 @@ +#ifndef SAPPHIRE_HOUSE_H +#define SAPPHIRE_HOUSE_H + +#include "Forwards.h" +#include +#include +#include + +namespace Core +{ + + class House + { + + public: + House( uint32_t houseId, uint32_t landSetId, uint8_t landId, uint8_t wardNum, uint16_t zoneId ); + virtual ~House(); + + //gerneral + uint32_t getLandSetId(); + uint8_t getLandId(); + uint8_t getWardNum(); + uint16_t getZoneId(); + uint32_t getHouseId(); + + //functions + void setHousePart( Common::HousePartSlot slot, uint32_t id ); + void setHousePartColor( Common::HousePartSlot slot, uint32_t id ); + uint32_t getHousePart( Common::HousePartSlot slot ); + uint8_t getHousePartColor( Common::HousePartSlot slot ); + + private: + uint32_t m_landSetId; + uint8_t m_landId; + uint8_t m_wardNum; + uint16_t m_zoneId; + uint32_t m_houseId; + + uint32_t m_houseParts[8]; + uint8_t m_housePartsColor[8]; + + char m_HouseMsg[193]; + }; + +} + +#endif // SAPPHIRE_HOUSE_H diff --git a/src/servers/sapphire_zone/Zone/HousingMgr.cpp b/src/servers/sapphire_zone/Zone/HousingMgr.cpp index d4521106..3be59f92 100644 --- a/src/servers/sapphire_zone/Zone/HousingMgr.cpp +++ b/src/servers/sapphire_zone/Zone/HousingMgr.cpp @@ -43,7 +43,7 @@ bool Core::HousingMgr::init() return true; } -uint16_t Core::HousingMgr::getNexLandId() +uint16_t Core::HousingMgr::getNextLandId() { return ++m_lastLandId; } @@ -55,7 +55,7 @@ uint32_t Core::HousingMgr::toLandSetId( uint16_t territoryTypeId, uint8_t wardId void Core::HousingMgr::insertHousingZone( Core::Data::HousingZonePtr hZone ) { - uint16_t id = getNexLandId(); + uint16_t id = getNextLandId(); m_housingZonePtrMap[id] = hZone; } @@ -149,7 +149,7 @@ void Core::HousingMgr::sendLandSignFree( Entity::Player& player, uint8_t wardId, player.queuePacket( plotPricePacket ); } -Core::LandPurchaseResult Core::HousingMgr::purchseLand( Entity::Player& player, uint8_t plot, uint8_t state ) +Core::LandPurchaseResult Core::HousingMgr::purchaseLand( Entity::Player& player, uint8_t plot, uint8_t state ) { auto pHousing = std::dynamic_pointer_cast< HousingZone >( player.getCurrentZone() ); diff --git a/src/servers/sapphire_zone/Zone/HousingMgr.h b/src/servers/sapphire_zone/Zone/HousingMgr.h index 156fd18c..869c8aaf 100644 --- a/src/servers/sapphire_zone/Zone/HousingMgr.h +++ b/src/servers/sapphire_zone/Zone/HousingMgr.h @@ -23,7 +23,7 @@ namespace Core bool init(); uint32_t toLandSetId( uint16_t territoryTypeId, uint8_t wardId ) const; - uint16_t getNexLandId(); + uint16_t getNextLandId(); void insertHousingZone( Core::Data::HousingZonePtr hZone ); Core::Data::HousingZonePtr getHousingZone( uint16_t id ); Core::Data::HousingZonePtr getHousingZoneByLandSetId( uint32_t id ); @@ -31,7 +31,7 @@ namespace Core void sendLandSignOwned( Entity::Player& player, uint8_t wardId, uint8_t plotId, uint16_t territoryTypeId ); void sendLandSignFree( Entity::Player& player, uint8_t wardId, uint8_t plotId, uint16_t territoryTypeId ); - LandPurchaseResult purchseLand( Entity::Player& player, uint8_t plot, uint8_t state ); + LandPurchaseResult purchaseLand( Entity::Player& player, uint8_t plot, uint8_t state ); bool relinquishLand( Entity::Player& player, uint8_t plot ); diff --git a/src/servers/sapphire_zone/Zone/HousingZone.cpp b/src/servers/sapphire_zone/Zone/HousingZone.cpp index 5d7f5ec4..3eae8feb 100644 --- a/src/servers/sapphire_zone/Zone/HousingZone.cpp +++ b/src/servers/sapphire_zone/Zone/HousingZone.cpp @@ -108,10 +108,9 @@ void Core::HousingZone::onPlayerZoneIn( Entity::Player& player ) for( uint8_t i = startIndex, count = 0; i < ( startIndex + 30 ); i++, count++ ) { landSetMap->data().landInfo[ count ].status = 1; - //memcpy( , &getLand( i )->getLand(), sizeof( Common::LandStruct ) ); } - //player.queuePacket( landSetMap ); + player.queuePacket( landSetMap ); } diff --git a/src/servers/sapphire_zone/Zone/Land.cpp b/src/servers/sapphire_zone/Zone/Land.cpp index 62e8242f..57b9d598 100644 --- a/src/servers/sapphire_zone/Zone/Land.cpp +++ b/src/servers/sapphire_zone/Zone/Land.cpp @@ -152,6 +152,13 @@ uint16_t Core::Land::getZoneId() const return m_zoneId; } +Core::HousePtr Core::Land::getHouse() const +{ + if( !m_house ) + return nullptr; + return m_house; +} + Core::Common::LandType Core::Land::getLandType() const { return m_type; diff --git a/src/servers/sapphire_zone/Zone/Land.h b/src/servers/sapphire_zone/Zone/Land.h index 95f4b6ce..daa483e9 100644 --- a/src/servers/sapphire_zone/Zone/Land.h +++ b/src/servers/sapphire_zone/Zone/Land.h @@ -35,6 +35,7 @@ namespace Core uint8_t getLandId() const; uint16_t getZoneId() const; Common::LandType getLandType() const; + Core::HousePtr getHouse() const; //Free Comapny void setFreeCompany( uint32_t id, uint32_t icon, uint32_t color ); @@ -79,6 +80,8 @@ namespace Core uint32_t m_ownerPlayerId; Core::Data::HousingLandSetPtr m_landInfo; + Core::HousePtr m_house; + //item storage Core::ItemContainerPtr ItemsOutdoorContainer; uint32_t m_maxItems; From bc3c683c92e13b023c14e3631ef01c975b429e72 Mon Sep 17 00:00:00 2001 From: Mordred <30826167+SapphireMordred@users.noreply.github.com> Date: Mon, 19 Nov 2018 10:04:54 +0100 Subject: [PATCH 2/7] Update House.cpp --- src/servers/sapphire_zone/Zone/House.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/servers/sapphire_zone/Zone/House.cpp b/src/servers/sapphire_zone/Zone/House.cpp index a4799177..c578b80d 100644 --- a/src/servers/sapphire_zone/Zone/House.cpp +++ b/src/servers/sapphire_zone/Zone/House.cpp @@ -1,4 +1,5 @@ #include +#include #include #include From b188455c3ea31de350247e01376ef0e0bd352456 Mon Sep 17 00:00:00 2001 From: AriAvery <41122212+AriAvery@users.noreply.github.com> Date: Mon, 19 Nov 2018 10:32:58 +0100 Subject: [PATCH 3/7] D: --- sql/update_land.sql | 3 ++- src/servers/sapphire_zone/Zone/House.cpp | 25 ++++++++++++++---------- src/servers/sapphire_zone/Zone/House.h | 20 +++++++++---------- 3 files changed, 27 insertions(+), 21 deletions(-) diff --git a/sql/update_land.sql b/sql/update_land.sql index 9827b1c5..6baa174e 100644 --- a/sql/update_land.sql +++ b/sql/update_land.sql @@ -1 +1,2 @@ -ALTER TABLE `land` ADD `Type` SMALLINT(6) NOT NULL DEFAULT '0' AFTER `LandId`; \ No newline at end of file +ALTER TABLE `land` ADD `Type` SMALLINT(6) NOT NULL DEFAULT '0' AFTER `LandId`; +ALTER TABLE `house` ADD `HouseName` binary(23) DEFAULT "" AFTER `Comment`; \ No newline at end of file diff --git a/src/servers/sapphire_zone/Zone/House.cpp b/src/servers/sapphire_zone/Zone/House.cpp index a4799177..f3eeb45e 100644 --- a/src/servers/sapphire_zone/Zone/House.cpp +++ b/src/servers/sapphire_zone/Zone/House.cpp @@ -10,15 +10,15 @@ extern Core::Framework g_fw; -Core::House::House( uint32_t houseId, uint32_t landSetId, uint8_t landId, uint8_t wardNum, uint16_t zoneId ) : +Core::House::House( uint32_t houseId, uint32_t landSetId, uint8_t landId, uint8_t wardNum, uint16_t territoryTypeId ) : m_houseId( houseId ), m_landSetId( landSetId ), m_landId( landId ), m_wardNum( wardNum ), - m_zoneId( zoneId ) + m_territoryTypeId( territoryTypeId ) { - memset( &m_houseParts, 0x00, 8 ); - memset( &m_HouseMsg, 0x00, 193 ); + std::memset( &m_houseParts, 0x00, sizeof( m_houseParts ) ); + std::memset( &m_commentMsg, 0x00, 193 ); } Core::House::~House() @@ -26,27 +26,32 @@ Core::House::~House() } -uint32_t Core::House::getLandSetId() +uint32_t Core::House::getLandSetId() const { return m_landSetId; } -uint8_t Core::House::getLandId() +uint8_t Core::House::getLandId() const { return m_landId; } -uint8_t Core::House::getWardNum() +uint8_t Core::House::getWardNum() const { return m_wardNum; } -uint32_t Core::House::getHouseId() +uint16_t Core::House::getTerritoryTypeId() const +{ + return m_territoryTypeId; +} + +uint32_t Core::House::getHouseId() const { return m_houseId; } -uint8_t Core::House::getHousePartColor( Common::HousePartSlot slot ) +uint8_t Core::House::getHousePartColor( Common::HousePartSlot slot ) const { return m_housePartsColor[ slot ]; } @@ -61,7 +66,7 @@ void Core::House::setHousePartColor( Common::HousePartSlot slot, uint32_t id ) m_housePartsColor[ slot ] = id; } -uint32_t Core::House::getHousePart( Common::HousePartSlot slot ) +uint32_t Core::House::getHousePart( Common::HousePartSlot slot ) const { return m_houseParts[ slot ]; } diff --git a/src/servers/sapphire_zone/Zone/House.h b/src/servers/sapphire_zone/Zone/House.h index 2aad0f8f..5f22a50d 100644 --- a/src/servers/sapphire_zone/Zone/House.h +++ b/src/servers/sapphire_zone/Zone/House.h @@ -13,33 +13,33 @@ namespace Core { public: - House( uint32_t houseId, uint32_t landSetId, uint8_t landId, uint8_t wardNum, uint16_t zoneId ); + House( uint32_t houseId, uint32_t landSetId, uint8_t landId, uint8_t wardNum, uint16_t territoryTypeId ); virtual ~House(); //gerneral - uint32_t getLandSetId(); - uint8_t getLandId(); - uint8_t getWardNum(); - uint16_t getZoneId(); - uint32_t getHouseId(); + uint32_t getLandSetId() const; + uint8_t getLandId() const; + uint8_t getWardNum() const; + uint16_t getTerritoryTypeId() const; + uint32_t getHouseId() const; //functions void setHousePart( Common::HousePartSlot slot, uint32_t id ); void setHousePartColor( Common::HousePartSlot slot, uint32_t id ); - uint32_t getHousePart( Common::HousePartSlot slot ); - uint8_t getHousePartColor( Common::HousePartSlot slot ); + uint32_t getHousePart( Common::HousePartSlot slot ) const; + uint8_t getHousePartColor( Common::HousePartSlot slot ) const; private: uint32_t m_landSetId; uint8_t m_landId; uint8_t m_wardNum; - uint16_t m_zoneId; + uint16_t m_territoryTypeId; uint32_t m_houseId; uint32_t m_houseParts[8]; uint8_t m_housePartsColor[8]; - char m_HouseMsg[193]; + char m_commentMsg[193]; }; } From d5faa15d0ad6fc49514402c641898689ee67f1fc Mon Sep 17 00:00:00 2001 From: AriAvery <41122212+AriAvery@users.noreply.github.com> Date: Mon, 19 Nov 2018 10:35:48 +0100 Subject: [PATCH 4/7] upps --- src/servers/sapphire_zone/Zone/House.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/servers/sapphire_zone/Zone/House.cpp b/src/servers/sapphire_zone/Zone/House.cpp index 8a6a88d4..533bc639 100644 --- a/src/servers/sapphire_zone/Zone/House.cpp +++ b/src/servers/sapphire_zone/Zone/House.cpp @@ -18,8 +18,8 @@ Core::House::House( uint32_t houseId, uint32_t landSetId, uint8_t landId, uint8_ m_wardNum( wardNum ), m_territoryTypeId( territoryTypeId ) { - std::memset( &m_houseParts, 0x00, sizeof( m_houseParts ) ); - std::memset( &m_commentMsg, 0x00, 193 ); + memset( &m_houseParts, 0x00, sizeof( m_houseParts ) ); + memset( &m_commentMsg, 0x00, 193 ); } Core::House::~House() From edf4177b9f799808abe5a8accac050feea4c3131 Mon Sep 17 00:00:00 2001 From: AriAvery <41122212+AriAvery@users.noreply.github.com> Date: Mon, 19 Nov 2018 11:55:29 +0100 Subject: [PATCH 5/7] Cleanup HousingMgr + Style --- .../Scripts/common/CmnDefHousingSignboard.cpp | 2 +- src/servers/sapphire_zone/Zone/HousingMgr.cpp | 61 +++++-------------- src/servers/sapphire_zone/Zone/HousingMgr.h | 7 +-- .../sapphire_zone/Zone/HousingZone.cpp | 3 - src/servers/sapphire_zone/Zone/Land.cpp | 4 +- src/servers/sapphire_zone/Zone/Land.h | 2 +- 6 files changed, 20 insertions(+), 59 deletions(-) diff --git a/src/servers/Scripts/common/CmnDefHousingSignboard.cpp b/src/servers/Scripts/common/CmnDefHousingSignboard.cpp index 5ca17950..ae9c8c5e 100644 --- a/src/servers/Scripts/common/CmnDefHousingSignboard.cpp +++ b/src/servers/Scripts/common/CmnDefHousingSignboard.cpp @@ -38,7 +38,7 @@ public: auto pHouMgr = pFw->get< Core::HousingMgr >(); LandPurchaseResult res = pHouMgr->purchaseLand( player, activeLand.plot, - static_cast< uint8_t >( result.param2 ) ); + static_cast< uint8_t >( result.param2 ) ); switch( res ) { diff --git a/src/servers/sapphire_zone/Zone/HousingMgr.cpp b/src/servers/sapphire_zone/Zone/HousingMgr.cpp index 3be59f92..a651cea4 100644 --- a/src/servers/sapphire_zone/Zone/HousingMgr.cpp +++ b/src/servers/sapphire_zone/Zone/HousingMgr.cpp @@ -12,6 +12,7 @@ #include "Actor/Player.h" +#include "TerritoryMgr.h" #include "Zone.h" #include "HousingZone.h" #include "HousingMgr.h" @@ -26,8 +27,7 @@ using namespace Core::Network::Packets::Server; extern Core::Framework g_fw; -Core::HousingMgr::HousingMgr() : - m_lastLandId( 0 ) +Core::HousingMgr::HousingMgr() { } @@ -43,61 +43,32 @@ bool Core::HousingMgr::init() return true; } -uint16_t Core::HousingMgr::getNextLandId() -{ - return ++m_lastLandId; -} uint32_t Core::HousingMgr::toLandSetId( uint16_t territoryTypeId, uint8_t wardId ) const { return ( static_cast< uint32_t >( territoryTypeId ) << 16 ) | wardId; } -void Core::HousingMgr::insertHousingZone( Core::Data::HousingZonePtr hZone ) -{ - uint16_t id = getNextLandId(); - m_housingZonePtrMap[id] = hZone; -} - -Core::Data::HousingZonePtr Core::HousingMgr::getHousingZone( uint16_t id ) -{ - auto it = m_housingZonePtrMap.find( id ); - if( it == m_housingZonePtrMap.end() ) - return nullptr; - - return it->second; -} - Core::Data::HousingZonePtr Core::HousingMgr::getHousingZoneByLandSetId( uint32_t id ) { - for( const auto& hZoneIt : m_housingZonePtrMap ) - { - auto pHousingZone = hZoneIt.second; - for( uint8_t landId = 0; landId < 60; landId++ ) - { - if( pHousingZone->getLandSetId() == id ) - { - return pHousingZone; - } - } - } - return nullptr; + auto pTeriMgr = g_fw.get< TerritoryMgr >(); + return std::dynamic_pointer_cast< HousingZone >( pTeriMgr->getZoneByLandSetId( id ) ); } Core::LandPtr Core::HousingMgr::getLandByOwnerId( uint32_t id ) { - for( const auto& hZoneIt : m_housingZonePtrMap ) - { - auto pHousingZone = hZoneIt.second; - for( uint8_t landId = 0; landId < 60; landId++ ) - { - if( pHousingZone->getLand( landId )->getPlayerOwner() == id ) - { - return pHousingZone->getLand( landId ); - } - } - } - return nullptr; + auto pDb = g_fw.get< Db::DbWorkerPool< Db::ZoneDbConnection > >(); + auto res = pDb->query( "SELECT LandSetId, LandId FROM land WHERE OwnerId = " + std::to_string( id ) ); + + if( !res->next() ) + return nullptr; + + auto hZone = getHousingZoneByLandSetId( res->getUInt( 1 ) ); + + if( !hZone ) + return nullptr; + + return hZone->getLand( res->getUInt( 2 ) ); } void Core::HousingMgr::sendLandSignOwned( Entity::Player& player, uint8_t wardId, uint8_t plotId, uint16_t territoryTypeId ) diff --git a/src/servers/sapphire_zone/Zone/HousingMgr.h b/src/servers/sapphire_zone/Zone/HousingMgr.h index 869c8aaf..b97c8acf 100644 --- a/src/servers/sapphire_zone/Zone/HousingMgr.h +++ b/src/servers/sapphire_zone/Zone/HousingMgr.h @@ -23,9 +23,6 @@ namespace Core bool init(); uint32_t toLandSetId( uint16_t territoryTypeId, uint8_t wardId ) const; - uint16_t getNextLandId(); - void insertHousingZone( Core::Data::HousingZonePtr hZone ); - Core::Data::HousingZonePtr getHousingZone( uint16_t id ); Core::Data::HousingZonePtr getHousingZoneByLandSetId( uint32_t id ); Core::LandPtr getLandByOwnerId( uint32_t id ); @@ -36,9 +33,7 @@ namespace Core bool relinquishLand( Entity::Player& player, uint8_t plot ); private: - using HousingZonePtrMap = std::unordered_map< uint16_t, Core::Data::HousingZonePtr >; - uint16_t m_lastLandId; - HousingZonePtrMap m_housingZonePtrMap; + }; } diff --git a/src/servers/sapphire_zone/Zone/HousingZone.cpp b/src/servers/sapphire_zone/Zone/HousingZone.cpp index 3eae8feb..9d52a1f4 100644 --- a/src/servers/sapphire_zone/Zone/HousingZone.cpp +++ b/src/servers/sapphire_zone/Zone/HousingZone.cpp @@ -65,9 +65,6 @@ bool Core::HousingZone::init() m_landPtrMap[ landId ] = pObject; } - auto pHousingMgr = g_fw.get< HousingMgr >(); - pHousingMgr->insertHousingZone( (HousingZonePtr)this ); - return true; } diff --git a/src/servers/sapphire_zone/Zone/Land.cpp b/src/servers/sapphire_zone/Zone/Land.cpp index 57b9d598..e0e4bbba 100644 --- a/src/servers/sapphire_zone/Zone/Land.cpp +++ b/src/servers/sapphire_zone/Zone/Land.cpp @@ -154,9 +154,7 @@ uint16_t Core::Land::getZoneId() const Core::HousePtr Core::Land::getHouse() const { - if( !m_house ) - return nullptr; - return m_house; + return m_pHouse; } Core::Common::LandType Core::Land::getLandType() const diff --git a/src/servers/sapphire_zone/Zone/Land.h b/src/servers/sapphire_zone/Zone/Land.h index daa483e9..173a00a7 100644 --- a/src/servers/sapphire_zone/Zone/Land.h +++ b/src/servers/sapphire_zone/Zone/Land.h @@ -80,7 +80,7 @@ namespace Core uint32_t m_ownerPlayerId; Core::Data::HousingLandSetPtr m_landInfo; - Core::HousePtr m_house; + Core::HousePtr m_pHouse; //item storage Core::ItemContainerPtr ItemsOutdoorContainer; From 06b107c7477c62e09e3d4e446df5533041093cac Mon Sep 17 00:00:00 2001 From: AriAvery <41122212+AriAvery@users.noreply.github.com> Date: Mon, 19 Nov 2018 11:56:53 +0100 Subject: [PATCH 6/7] next fix --- src/servers/sapphire_zone/Zone/House.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/servers/sapphire_zone/Zone/House.cpp b/src/servers/sapphire_zone/Zone/House.cpp index 533bc639..7b9a74b3 100644 --- a/src/servers/sapphire_zone/Zone/House.cpp +++ b/src/servers/sapphire_zone/Zone/House.cpp @@ -19,7 +19,7 @@ Core::House::House( uint32_t houseId, uint32_t landSetId, uint8_t landId, uint8_ m_territoryTypeId( territoryTypeId ) { memset( &m_houseParts, 0x00, sizeof( m_houseParts ) ); - memset( &m_commentMsg, 0x00, 193 ); + memset( &m_commentMsg, 0x00, sizeof( m_commentMsg ) ); } Core::House::~House() From d27ae703ec7f3652355d723f6a018d94862f6a73 Mon Sep 17 00:00:00 2001 From: Mordred <30826167+SapphireMordred@users.noreply.github.com> Date: Mon, 19 Nov 2018 12:03:24 +0100 Subject: [PATCH 7/7] Update House.h --- src/servers/sapphire_zone/Zone/House.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/servers/sapphire_zone/Zone/House.h b/src/servers/sapphire_zone/Zone/House.h index 5f22a50d..080aea2e 100644 --- a/src/servers/sapphire_zone/Zone/House.h +++ b/src/servers/sapphire_zone/Zone/House.h @@ -36,10 +36,10 @@ namespace Core uint16_t m_territoryTypeId; uint32_t m_houseId; - uint32_t m_houseParts[8]; - uint8_t m_housePartsColor[8]; + uint32_t m_houseParts[ 8 ]; + uint8_t m_housePartsColor[ 8 ]; - char m_commentMsg[193]; + char m_commentMsg[ 193 ]; }; }