mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-27 22:57:45 +00:00
commit
1de659e040
6 changed files with 34 additions and 1 deletions
|
@ -635,6 +635,8 @@ namespace Common {
|
|||
|
||||
GearSetEquipMsg = 0x321,
|
||||
|
||||
DisableCurrentFestival = 0x386,
|
||||
|
||||
ToggleOrchestrionUnlock = 0x396,
|
||||
Dismount = 0x3a0
|
||||
};
|
||||
|
|
|
@ -600,7 +600,7 @@ struct FFXIVIpcInitZone : FFXIVIpcBasePacket<InitZone>
|
|||
uint8_t weatherId;
|
||||
uint8_t bitmask;
|
||||
uint16_t unknown5;
|
||||
uint16_t unknown6;
|
||||
uint16_t festivalId;
|
||||
uint16_t unknown7;
|
||||
uint32_t unknown8;
|
||||
Common::FFXIVARR_POSITION3 pos;
|
||||
|
|
|
@ -1623,6 +1623,7 @@ void Player::sendZonePackets()
|
|||
initZonePacket.data().weatherId = static_cast< uint8_t >( getCurrentZone()->getCurrentWeather() );
|
||||
initZonePacket.data().bitmask = 0x1;
|
||||
initZonePacket.data().unknown5 = 0x2A;
|
||||
initZonePacket.data().festivalId = getCurrentZone()->getCurrentFestival();
|
||||
initZonePacket.data().pos.x = getPos().x;
|
||||
initZonePacket.data().pos.y = getPos().y;
|
||||
initZonePacket.data().pos.z = getPos().z;
|
||||
|
|
|
@ -762,4 +762,19 @@ void Core::DebugCommandHandler::instance( char* data, Entity::Player &player, bo
|
|||
{
|
||||
player.exitInstance();
|
||||
}
|
||||
else if( subCommand == "festival" )
|
||||
{
|
||||
uint32_t festivalId;
|
||||
sscanf( params.c_str(), "%d", &festivalId );
|
||||
|
||||
player.getCurrentZone()->setCurrentFestival( static_cast< uint16_t >( festivalId ) );
|
||||
}
|
||||
else if( subCommand == "disablefestival" )
|
||||
{
|
||||
Network::Packets::ZoneChannelPacket< Network::Packets::Server::FFXIVIpcActorControl143 > actorControl( player.getId() );
|
||||
actorControl.data().category = Core::Common::ActorControlType::DisableCurrentFestival;
|
||||
player.queuePacket( actorControl );
|
||||
|
||||
player.getCurrentZone()->setCurrentFestival( 0 );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -48,6 +48,7 @@ Zone::Zone()
|
|||
, m_currentWeather( static_cast< uint8_t >( Common::Weather::FairSkies ) )
|
||||
, m_weatherOverride( 0 )
|
||||
, m_lastMobUpdate( 0 )
|
||||
, m_currentFestivalId( 0 )
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -118,6 +119,16 @@ uint8_t Zone::getCurrentWeather() const
|
|||
return m_currentWeather;
|
||||
}
|
||||
|
||||
uint16_t Zone::getCurrentFestival() const
|
||||
{
|
||||
return m_currentFestivalId;
|
||||
}
|
||||
|
||||
void Zone::setCurrentFestival( uint16_t festivalId )
|
||||
{
|
||||
m_currentFestivalId = festivalId;
|
||||
}
|
||||
|
||||
CellCache* Zone::getCellCacheList( uint32_t cellx, uint32_t celly )
|
||||
{
|
||||
assert( cellx < _sizeX );
|
||||
|
|
|
@ -51,6 +51,7 @@ protected:
|
|||
|
||||
uint64_t m_lastMobUpdate;
|
||||
|
||||
uint16_t m_currentFestivalId;
|
||||
boost::shared_ptr< Data::TerritoryType > m_territoryTypeInfo;
|
||||
|
||||
std::map< uint8_t, int32_t> m_weatherRateMap;
|
||||
|
@ -70,6 +71,9 @@ public:
|
|||
|
||||
uint8_t getCurrentWeather() const;
|
||||
|
||||
uint16_t getCurrentFestival() const;
|
||||
void setCurrentFestival( uint16_t festivalId );
|
||||
|
||||
CellCache* getCellCacheList( uint32_t cellx, uint32_t celly );
|
||||
|
||||
CellCache* getCellCacheAndCreate( uint32_t cellx, uint32_t celly );
|
||||
|
|
Loading…
Add table
Reference in a new issue