1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-29 15:47:46 +00:00
sapphire/src/world/Manager/HousingMgr.h

65 lines
2.1 KiB
C
Raw Normal View History

2018-11-10 19:00:13 +01:00
#ifndef SAPPHIRE_HOUSINGMGR_H
#define SAPPHIRE_HOUSINGMGR_H
#include "Forwards.h"
#include "Territory/HousingZone.h"
2018-11-10 19:00:13 +01:00
#include <set>
#include <unordered_map>
namespace Sapphire::Data
2018-11-10 19:00:13 +01:00
{
using HousingZonePtr = std::shared_ptr< HousingZone >;
}
2018-11-10 19:00:13 +01:00
namespace Sapphire::World::Manager
{
2018-11-10 19:00:13 +01:00
class HousingMgr
{
public:
HousingMgr();
virtual ~HousingMgr();
bool init();
uint32_t toLandSetId( uint16_t territoryTypeId, uint8_t wardId ) const;
Sapphire::Data::HousingZonePtr getHousingZoneByLandSetId( uint32_t id );
Sapphire::LandPtr getLandByOwnerId( uint32_t id );
2018-11-10 19:00:13 +01:00
2018-12-05 16:55:14 +11:00
void sendLandSignOwned( Entity::Player& player, const Common::LandIdent ident );
void sendLandSignFree( Entity::Player& player, const Common::LandIdent ident );
2018-11-19 09:40:44 +01:00
LandPurchaseResult purchaseLand( Entity::Player& player, uint8_t plot, uint8_t state );
/*!
* @brief Converts param1 of a client trigger into a Common::LandIndent
*/
2018-12-05 16:55:14 +11:00
Common::LandIdent clientTriggerParamsToLandIdent( uint32_t param11, uint32_t param12 ) const;
void sendWardLandInfo( Entity::Player& player, uint8_t wardId, uint16_t territoryTypeId );
2018-11-17 01:16:44 +01:00
bool relinquishLand( Entity::Player& player, uint8_t plot );
2018-11-24 15:17:18 +11:00
void buildPresetEstate( Entity::Player& player, uint8_t plotNum, uint32_t presetItem );
2018-12-05 16:55:14 +11:00
void requestEstateRename( Entity::Player& player, const Common::LandIdent ident );
2018-11-28 21:59:28 +11:00
2018-12-05 16:55:14 +11:00
void requestEstateEditGreeting( Entity::Player& player, const Common::LandIdent ident );
void updateEstateGreeting( Entity::Player& player, const Common::LandIdent ident, const std::string& greeting );
2018-12-05 16:55:14 +11:00
void requestEstateEditGuestAccess( Entity::Player& player, const Common::LandIdent ident );
2018-11-29 00:19:37 +11:00
void sendEstateGreeting( Entity::Player& player, const Common::LandIdent ident );
/*!
* @brief Sends the house inventory for the specified type to a player.
*
* This enforces permissions on the inventory too so random players can't request a houses items
*/
void sendHousingInventory( Entity::Player& player, uint16_t inventoryType, uint8_t plotNum );
2018-11-10 19:00:13 +01:00
};
}
#endif // SAPPHIRE_HOUSINGMGR_H