From 59e7dd39dc673470b9d79cf5d63772fb4d76cd9c Mon Sep 17 00:00:00 2001 From: NotAdam Date: Fri, 23 Nov 2018 16:48:32 +1100 Subject: [PATCH 1/4] Store instance guid in db when zoning into an instance --- src/servers/sapphire_zone/Zone/TerritoryMgr.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/servers/sapphire_zone/Zone/TerritoryMgr.cpp b/src/servers/sapphire_zone/Zone/TerritoryMgr.cpp index 2cbd4789..d8cb748e 100644 --- a/src/servers/sapphire_zone/Zone/TerritoryMgr.cpp +++ b/src/servers/sapphire_zone/Zone/TerritoryMgr.cpp @@ -410,14 +410,18 @@ bool Core::TerritoryMgr::movePlayer( ZonePtr pZone, Core::Entity::PlayerPtr pPla if( isHousingTerritory( pZone->getTerritoryTypeId() ) ) { auto pHousing = std::dynamic_pointer_cast< HousingZone >( pZone ); - if( pHousing ) + if( pHousing ) pPlayer->setTerritoryId( pHousing->getLandSetId() ); - } + } + else if( isInstanceContentTerritory( pZone->getTerritoryTypeId() ) ) + { + pPlayer->setTerritoryId( pZone->getGuId() ); + } else { pPlayer->setTerritoryId( 0 ); } - + // mark character as zoning in progress pPlayer->setLoadingComplete( false ); From 8360c74acdf3ae94290b110f0dfc95db050004d0 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Fri, 23 Nov 2018 16:51:07 +1100 Subject: [PATCH 2/4] somehow eventhelper.cpp got really fucked up --- .../sapphire_zone/Event/EventHelper.cpp | Bin 3067 -> 2957 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/servers/sapphire_zone/Event/EventHelper.cpp b/src/servers/sapphire_zone/Event/EventHelper.cpp index 11b17e0810bf73ed62fc3def6b4e91c8b22e0c66..37f7bcfec5f592362e8b20b06ea061d1b9bf7b50 100644 GIT binary patch delta 856 zcmZXSO>fgc5QY`!dm{A$C@C%KVgfh?l14?MBq%B>{X8Hd0vtf9OtNX*I(D$vq$sU8 zapVx@$}a&4^}-EQu1H+@0X-rv%*J+_iiT4NhgT|V zj^5>c+u36~+wFc806f>Qc9=zJx2HFGQ0LD?x+_|hiYpu{8lDst7+^WGgfAl3B7pBA zH)a4BbNhy9b~MK2P>nY|&I*(r;Bn+mf&v*%DQnqL$e7XA*yUFqcg3dFwpjs>qcf?x z{8y`h9~2EgD~m)wQSyHGA%V*HFq#Qrdi2rkB&_MV!tOS7b8k$%PJlnrQh?fy-JV2! zi={%;uh>>@0%iBOMNR|Ea$Lou)HEK%)06FA;t;m~h&S+RB9B{%Sr%X%E<9SddY_99 z?VU?katFSPPl>UM?}_JFNZ!P!$yNNA)bMLkyLgr%FC}OOxr59z-RV_EH3QsCJy;0J zhVB?&ho134fmtn^{QCLZumkS{iT9TQg4O$T5TX*R5E1xvF_5pX0J%-IQODnwOcE4s#Sgs}j&mLslhZ?S_-PSh)~J%wi1z zs(Ht%A_p@_L7^zMq_ikcLCG<-BqOz`vLsc>ns>4un-szrKQeh5#G8 zAebdQS&Q8W$ckat0Fo{28gRp*M&~8wrdq>-1Q-Rt@a7FqEGj?*Hxq}8ILt+$;4TNs z!u%D@Aq_OvkX3SWKZgV`qCqiK3yR5g9A*e-z2a~O#x^h4 Date: Fri, 23 Nov 2018 17:37:46 +1100 Subject: [PATCH 3/4] Remove old tables from update.sql --- sql/update.sql | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sql/update.sql b/sql/update.sql index ce4c3fd9..21bc893c 100644 --- a/sql/update.sql +++ b/sql/update.sql @@ -19,12 +19,6 @@ MODIFY COLUMN UPDATE_DATE DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURR ALTER TABLE charainfosearch MODIFY COLUMN UPDATE_DATE DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP; -ALTER TABLE charaitemcrystal -MODIFY COLUMN UPDATE_DATE DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP; - -ALTER TABLE charaitemcurrency -MODIFY COLUMN UPDATE_DATE DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP; - ALTER TABLE charaitemgearset MODIFY COLUMN UPDATE_DATE DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP; From 320422cb6d6dc2537cb33724bfc748ccbc9872bd Mon Sep 17 00:00:00 2001 From: NotAdam Date: Fri, 23 Nov 2018 17:45:37 +1100 Subject: [PATCH 4/4] correctly check state when sending ward info --- src/servers/sapphire_zone/Zone/HousingMgr.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/servers/sapphire_zone/Zone/HousingMgr.cpp b/src/servers/sapphire_zone/Zone/HousingMgr.cpp index e882eca1..c9d50ca0 100644 --- a/src/servers/sapphire_zone/Zone/HousingMgr.cpp +++ b/src/servers/sapphire_zone/Zone/HousingMgr.cpp @@ -240,8 +240,13 @@ void Core::HousingMgr::sendWardLandInfo( Entity::Player& player, uint8_t wardId, auto& entry = wardInfoPacket->data().houseInfoEntry[ i ]; + // retail always sends the house price in this packet, even after the house has been sold + // so I guess we do the same entry.housePrice = land->getCurrentPrice(); + if( land->getState() == Common::HouseState::forSale ) + continue; + switch( land->getLandType() ) { case LandType::FreeCompany: