mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-04 09:47:46 +00:00
update MapUpdate2/128 opcode, fix discovery and clean up custom PlayerSetup unlocks
This commit is contained in:
parent
036a561098
commit
e22669876c
3 changed files with 16 additions and 19 deletions
|
@ -163,7 +163,7 @@ enum ServerZoneIpcType :
|
||||||
SomeCustomiseChangePacketProbably = 0x00CD, // added 5.18
|
SomeCustomiseChangePacketProbably = 0x00CD, // added 5.18
|
||||||
|
|
||||||
PartyList = 0x164, // updated 6.58 hotfix 2
|
PartyList = 0x164, // updated 6.58 hotfix 2
|
||||||
PartyUpdate = 0x2D8, // updated 6.58 hotfix 2
|
PartyUpdate = 0x2D8, // updated 6.58 hotfix 2?
|
||||||
HateRank = 0x2A7, // updated 6.58 hotfix 2
|
HateRank = 0x2A7, // updated 6.58 hotfix 2
|
||||||
HateList = 0x26B, // updated 6.58 hotfix 2
|
HateList = 0x26B, // updated 6.58 hotfix 2
|
||||||
ObjectSpawn = 0x03B8, // updated 6.58 hotfix 2
|
ObjectSpawn = 0x03B8, // updated 6.58 hotfix 2
|
||||||
|
@ -242,7 +242,7 @@ enum ServerZoneIpcType :
|
||||||
|
|
||||||
WeatherChange = 0x021D, // updated 6.58 hotfix 2
|
WeatherChange = 0x021D, // updated 6.58 hotfix 2
|
||||||
PlayerTitleList = 0x1FF, // updated 6.58 hotfix 2?
|
PlayerTitleList = 0x1FF, // updated 6.58 hotfix 2?
|
||||||
Discovery = 0x11E, // updated 6.58 hotfix 2?
|
Discovery = 0x11E, // updated 6.58 hotfix 2
|
||||||
|
|
||||||
EorzeaTimeOffset = 0x398, // updated 6.58 hotfix 2?
|
EorzeaTimeOffset = 0x398, // updated 6.58 hotfix 2?
|
||||||
|
|
||||||
|
@ -294,13 +294,13 @@ enum ServerZoneIpcType :
|
||||||
DailyQuests = 0x2EF, // updated 6.58 hotfix 2
|
DailyQuests = 0x2EF, // updated 6.58 hotfix 2
|
||||||
DailyQuestRepeatFlags = 0x134, // updated 6.58 hotfix 2
|
DailyQuestRepeatFlags = 0x134, // updated 6.58 hotfix 2
|
||||||
|
|
||||||
MapUpdate = 0xF0A3, // updated 6.48
|
MapUpdate = 0x0FF, // updated 6.58 hotfix 2
|
||||||
MapUpdate4 = 0x345, // updated 6.58 hotfix 2
|
MapUpdate4 = 0x345, // updated 6.58 hotfix 2
|
||||||
MapUpdate8 = 0x114, // updated 6.58 hotfix 2
|
MapUpdate8 = 0x114, // updated 6.58 hotfix 2
|
||||||
MapUpdate16 = 0x2CE, // updated 6.58 hotfix 2
|
MapUpdate16 = 0x2CE, // updated 6.58 hotfix 2
|
||||||
MapUpdate32 = 0x205, // updated 6.58 hotfix 2
|
MapUpdate32 = 0x205, // updated 6.58 hotfix 2
|
||||||
MapUpdate64 = 0x1FC, // updated 6.58 hotfix 2
|
MapUpdate64 = 0x1FC, // updated 6.58 hotfix 2
|
||||||
MapUpdate128 = 0xF09c, // updated 6.48
|
MapUpdate128 = 0x158, // updated 6.58 hotfix 2
|
||||||
|
|
||||||
/// Doman Mahjong //////////////////////////////////////
|
/// Doman Mahjong //////////////////////////////////////
|
||||||
MahjongOpenGui = 0x02A4, // only available in mahjong instance
|
MahjongOpenGui = 0x02A4, // only available in mahjong instance
|
||||||
|
|
|
@ -690,9 +690,9 @@ void Sapphire::Entity::Player::discover( int16_t map_id, int16_t sub_id )
|
||||||
}
|
}
|
||||||
|
|
||||||
if( info->discoveryArrayByte )
|
if( info->discoveryArrayByte )
|
||||||
offset = 5 + 2 * info->discoveryIndex;
|
offset = 2 * info->discoveryIndex;
|
||||||
else
|
else
|
||||||
offset = 325 + 4 * info->discoveryIndex;
|
offset = 320 + 4 * info->discoveryIndex;
|
||||||
|
|
||||||
int32_t index = offset + sub_id / 8;
|
int32_t index = offset + sub_id / 8;
|
||||||
uint8_t bitIndex = sub_id % 8;
|
uint8_t bitIndex = sub_id % 8;
|
||||||
|
|
|
@ -45,7 +45,6 @@ namespace Sapphire::Network::Packets::Server
|
||||||
//m_data.gcRank = GCRank::None;
|
//m_data.gcRank = GCRank::None;
|
||||||
|
|
||||||
m_data.homepoint = player.getHomepoint();
|
m_data.homepoint = player.getHomepoint();
|
||||||
m_data.pose[0] = player.getPose();
|
|
||||||
|
|
||||||
memset( &m_data.name[ 0 ], 0, sizeof( m_data.name ) );
|
memset( &m_data.name[ 0 ], 0, sizeof( m_data.name ) );
|
||||||
strcpy( &m_data.name[ 0 ], player.getName().c_str() );
|
strcpy( &m_data.name[ 0 ], player.getName().c_str() );
|
||||||
|
@ -69,29 +68,27 @@ namespace Sapphire::Network::Packets::Server
|
||||||
|
|
||||||
memcpy( m_data.howto, player.getHowToArray(), sizeof( m_data.howto ) );
|
memcpy( m_data.howto, player.getHowToArray(), sizeof( m_data.howto ) );
|
||||||
|
|
||||||
// possibly max level or current level
|
|
||||||
m_data.maxLevel = Common::MAX_PLAYER_LEVEL;
|
m_data.maxLevel = Common::MAX_PLAYER_LEVEL;
|
||||||
m_data.expansion = Common::CURRENT_EXPANSION_ID;
|
m_data.expansion = Common::CURRENT_EXPANSION_ID;
|
||||||
|
|
||||||
// df stuff
|
// unlock mounts
|
||||||
// todo: actually do this properly
|
memset( m_data.mountGuideMask, 0xFF, sizeof( m_data.mountGuideMask ) );
|
||||||
// m_data.unknown70[4] = 1; // enable df
|
|
||||||
|
|
||||||
// enable all raids/guildhests/dungeons
|
// uncomment to unlock everything or choose options below
|
||||||
|
//memset( &m_data.unknown293[ 0 ], 0xFF, reinterpret_cast< uint64_t >( &m_data.unknown85E[ 40 ] ) - reinterpret_cast< uint64_t >( &m_data.unknown293[ 0 ] ) + 1 );
|
||||||
|
|
||||||
|
m_data.pose[0] = player.getPose();
|
||||||
|
memset( &m_data.pose[ 1 ], 0, sizeof( m_data.pose ) - 1 );
|
||||||
|
|
||||||
|
// custom unlock options
|
||||||
memset( m_data.unlockedDungeons, 0xFF, sizeof( m_data.unlockedDungeons ) );
|
memset( m_data.unlockedDungeons, 0xFF, sizeof( m_data.unlockedDungeons ) );
|
||||||
memset( m_data.unlockedGuildhests, 0xFF, sizeof( m_data.unlockedGuildhests ) );
|
memset( m_data.unlockedGuildhests, 0xFF, sizeof( m_data.unlockedGuildhests ) );
|
||||||
memset( m_data.unlockedPvp, 0xFF, sizeof( m_data.unlockedPvp ) );
|
memset( m_data.unlockedPvp, 0xFF, sizeof( m_data.unlockedPvp ) );
|
||||||
memset( m_data.unlockedRaids, 0xFF, sizeof( m_data.unlockedRaids ) );
|
memset( m_data.unlockedRaids, 0xFF, sizeof( m_data.unlockedRaids ) );
|
||||||
memset( m_data.unlockedTrials, 0xFF, sizeof( m_data.unlockedTrials ) );
|
memset( m_data.unlockedTrials, 0xFF, sizeof( m_data.unlockedTrials ) );
|
||||||
|
|
||||||
// uncomment to enable custom unlocks
|
|
||||||
|
|
||||||
// everything
|
|
||||||
//memset( &m_data.unknownOword[ 0 ], 0xFF, reinterpret_cast< uint64_t >( &m_data.unknown5_55c ) - reinterpret_cast< uint64_t >( &m_data.unknownOword[ 0 ] ) );
|
|
||||||
// or select options below
|
|
||||||
//memset( m_data.unlockBitmask, 0xFF, sizeof( m_data.unlockBitmask ) );
|
//memset( m_data.unlockBitmask, 0xFF, sizeof( m_data.unlockBitmask ) );
|
||||||
//memset( m_data.mountGuideMask, 0xFF, sizeof( m_data.mountGuideMask ) );
|
|
||||||
//memset( m_data.minions, 0xFF, sizeof( m_data.minions ) );
|
//memset( m_data.minions, 0xFF, sizeof( m_data.minions ) );
|
||||||
|
//memset( m_data.discovery, 0xFF, sizeof( m_data.discovery ) );
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue