mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-06 02:37:47 +00:00
More housing cleanup
This commit is contained in:
parent
5479a77d6d
commit
6347d7ed27
3 changed files with 78 additions and 169 deletions
|
@ -732,6 +732,18 @@ namespace Core::Common
|
|||
MountSkill = 0xD,
|
||||
};
|
||||
|
||||
enum HousePartSlot
|
||||
{
|
||||
ExteriorRoof,
|
||||
ExteriorWall,
|
||||
ExteriorWindow,
|
||||
ExteriorDoor,
|
||||
OtherFloorWall,
|
||||
OtherFloorFlooring,
|
||||
BasementWall,
|
||||
YardSign
|
||||
};
|
||||
|
||||
//Structs
|
||||
struct LandStruct
|
||||
{
|
||||
|
@ -742,14 +754,7 @@ struct LandStruct
|
|||
uint32_t fcId; //8
|
||||
uint32_t fcIcon;// 12
|
||||
uint32_t fcIconColor; // 16
|
||||
uint16_t exteriorRoof; //20
|
||||
uint16_t exteriorWall; //22
|
||||
uint16_t exteriorWindow; //24
|
||||
uint16_t exteriorDoor;// 26
|
||||
uint16_t otherFloorWall; // 28
|
||||
uint16_t otherFloorFlooring; //30
|
||||
uint16_t basementWall; // 32
|
||||
uint16_t gardenSign; // 34
|
||||
uint16_t housePart[ 8 ]; // 34
|
||||
uint8_t color[ 8 ]; // 36
|
||||
//44
|
||||
};
|
||||
|
@ -773,6 +778,27 @@ struct YardObject
|
|||
uint16_t pos_z;
|
||||
};
|
||||
|
||||
enum HouseSizeType : uint8_t
|
||||
{
|
||||
//noneHouse,
|
||||
smallHouse,
|
||||
mediumHouse,
|
||||
bigHouse
|
||||
};
|
||||
|
||||
enum HouseStateType : uint8_t
|
||||
{
|
||||
none,
|
||||
forSale,
|
||||
sold,
|
||||
fcHouse,
|
||||
privateHouse
|
||||
};
|
||||
enum HouseIconAdd : uint8_t
|
||||
{
|
||||
heart = 0x06
|
||||
};
|
||||
|
||||
using PlayerStateFlagList = std::vector< PlayerStateFlag >;
|
||||
|
||||
}
|
||||
|
|
|
@ -78,7 +78,7 @@ void Core::Land::load()
|
|||
"housingoutdooritems", true );*/
|
||||
}
|
||||
|
||||
uint32_t Core::Land::convertItemIdToHousingItemId( uint32_t itemId )
|
||||
uint16_t Core::Land::convertItemIdToHousingItemId( uint16_t itemId )
|
||||
{
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
auto info = pExdData->get< Core::Data::Item >( itemId );
|
||||
|
@ -89,12 +89,12 @@ void Core::Land::setPreset( uint32_t id )
|
|||
{
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
auto info = pExdData->get< Core::Data::HousingPreset >( convertItemIdToHousingItemId( id ) );
|
||||
setRoof( info->exteriorRoof );
|
||||
setWall( info->exteriorWall );
|
||||
setWindow( info->exteriorWindow );
|
||||
setBasementWall( info->basementWall );
|
||||
setFloorFlooring( info->otherFloorFlooring );
|
||||
setFloorWall( info->otherFloorWall );
|
||||
setHousePart( Common::HousePartSlot::ExteriorRoof, info->exteriorRoof );
|
||||
setHousePart( Common::HousePartSlot::ExteriorWall, info->exteriorWall );
|
||||
setHousePart( Common::HousePartSlot::ExteriorWindow, info->exteriorWindow );
|
||||
setHousePart( Common::HousePartSlot::BasementWall, info->basementWall );
|
||||
setHousePart( Common::HousePartSlot::OtherFloorFlooring, info->otherFloorFlooring );
|
||||
setHousePart( Common::HousePartSlot::OtherFloorWall, info->otherFloorWall );
|
||||
}
|
||||
|
||||
//Primary State
|
||||
|
@ -162,94 +162,14 @@ uint32_t Core::Land::getFcColor()
|
|||
}
|
||||
|
||||
//House Data
|
||||
void Core::Land::setRoof( uint16_t id )
|
||||
void Core::Land::setHousePart( Common::HousePartSlot slot, uint16_t id )
|
||||
{
|
||||
m_land.exteriorRoof = convertItemIdToHousingItemId( id );
|
||||
m_land.housePart[ slot ] = convertItemIdToHousingItemId( id );
|
||||
}
|
||||
|
||||
void Core::Land::setFacade( uint16_t id )
|
||||
uint16_t Core::Land::getHousePart( Common::HousePartSlot slot )
|
||||
{
|
||||
m_land.exteriorWall = convertItemIdToHousingItemId( id );
|
||||
}
|
||||
|
||||
void Core::Land::setWindow( uint16_t id )
|
||||
{
|
||||
m_land.exteriorWindow = convertItemIdToHousingItemId( id );
|
||||
}
|
||||
|
||||
void Core::Land::setDoor( uint16_t id )
|
||||
{
|
||||
m_land.exteriorDoor = convertItemIdToHousingItemId( id );
|
||||
}
|
||||
|
||||
void Core::Land::setFloorWall( uint16_t id )
|
||||
{
|
||||
m_land.otherFloorWall = convertItemIdToHousingItemId( id );
|
||||
}
|
||||
|
||||
void Core::Land::setFloorFlooring( uint16_t id )
|
||||
{
|
||||
m_land.otherFloorFlooring = convertItemIdToHousingItemId( id );
|
||||
}
|
||||
|
||||
void Core::Land::setWall( uint16_t id )
|
||||
{
|
||||
m_land.exteriorWall = convertItemIdToHousingItemId( id );
|
||||
}
|
||||
|
||||
void Core::Land::setSign( uint16_t id )
|
||||
{
|
||||
m_land.gardenSign = convertItemIdToHousingItemId( id );
|
||||
}
|
||||
|
||||
void Core::Land::setBasementWall( uint16_t id )
|
||||
{
|
||||
m_land.basementWall = convertItemIdToHousingItemId( id );
|
||||
}
|
||||
|
||||
uint16_t Core::Land::getRoof()
|
||||
{
|
||||
return m_land.exteriorRoof;
|
||||
}
|
||||
|
||||
uint16_t Core::Land::getFacade()
|
||||
{
|
||||
return m_land.exteriorWall;
|
||||
}
|
||||
|
||||
uint16_t Core::Land::getWindow()
|
||||
{
|
||||
return m_land.exteriorWindow;
|
||||
}
|
||||
|
||||
uint16_t Core::Land::getDoor()
|
||||
{
|
||||
return m_land.exteriorDoor;
|
||||
}
|
||||
|
||||
uint16_t Core::Land::getSign()
|
||||
{
|
||||
return m_land.gardenSign;
|
||||
}
|
||||
|
||||
uint16_t Core::Land::getWall()
|
||||
{
|
||||
return m_land.basementWall;
|
||||
}
|
||||
|
||||
uint16_t Core::Land::getFloorWall()
|
||||
{
|
||||
return m_land.otherFloorFlooring;
|
||||
}
|
||||
|
||||
uint16_t Core::Land::getFloorFlooring()
|
||||
{
|
||||
return m_land.otherFloorFlooring;
|
||||
}
|
||||
|
||||
uint16_t Core::Land::getBasememtWall()
|
||||
{
|
||||
return m_land.basementWall;
|
||||
return m_land.housePart[ slot ];
|
||||
}
|
||||
|
||||
//Color
|
||||
|
|
|
@ -8,27 +8,6 @@ namespace Core
|
|||
class Land
|
||||
{
|
||||
public:
|
||||
enum HouseSizeType : uint8_t
|
||||
{
|
||||
//noneHouse,
|
||||
smallHouse,
|
||||
mediumHouse,
|
||||
bigHouse
|
||||
};
|
||||
|
||||
enum HouseStateType : uint8_t
|
||||
{
|
||||
none,
|
||||
forSale,
|
||||
sold,
|
||||
fcHouse,
|
||||
privateHouse
|
||||
};
|
||||
|
||||
enum HouseIconAdd : uint8_t
|
||||
{
|
||||
heart = 0x06
|
||||
};
|
||||
|
||||
Land( uint16_t zoneId, uint8_t wardNum, uint8_t landId );
|
||||
virtual ~Land();
|
||||
|
@ -54,25 +33,9 @@ namespace Core
|
|||
uint32_t getFcColor();
|
||||
|
||||
//House data
|
||||
void setRoof( uint16_t itemId );
|
||||
void setFacade( uint16_t itemId );
|
||||
void setWindow( uint16_t itemId );
|
||||
void setDoor( uint16_t itemId );
|
||||
void setFloorWall( uint16_t itemId );
|
||||
void setFloorFlooring( uint16_t itemId );
|
||||
void setWall( uint16_t itemId );
|
||||
void setSign( uint16_t itemId );
|
||||
void setBasementWall( uint16_t itemId );
|
||||
void setHousePart( Common::HousePartSlot slot, uint16_t itemId );
|
||||
|
||||
uint16_t getRoof();
|
||||
uint16_t getFacade();
|
||||
uint16_t getWindow();
|
||||
uint16_t getDoor();
|
||||
uint16_t getFloorWall();
|
||||
uint16_t getFloorFlooring();
|
||||
uint16_t getWall();
|
||||
uint16_t getSign();
|
||||
uint16_t getBasememtWall();
|
||||
uint16_t getHousePart( Common::HousePartSlot slot );
|
||||
|
||||
//Color
|
||||
void setColor( uint8_t slot, uint8_t color );
|
||||
|
@ -91,7 +54,7 @@ namespace Core
|
|||
uint32_t getMaxItems();
|
||||
|
||||
private:
|
||||
uint32_t convertItemIdToHousingItemId( uint32_t itemId );
|
||||
uint16_t convertItemIdToHousingItemId( uint16_t itemId );
|
||||
void Init();
|
||||
|
||||
uint32_t m_landKey;
|
||||
|
|
Loading…
Add table
Reference in a new issue