mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-25 05:57:45 +00:00
First batch of fixes for 4.1, still quite a few hickups
This commit is contained in:
parent
a4bb966a8c
commit
ab62fb4448
4 changed files with 112 additions and 112 deletions
|
@ -1 +1 @@
|
|||
Subproject commit 376501b8f441bd6b6e75b1960b118aabd72fca9d
|
||||
Subproject commit c71860d79596a93e5668169ac3f0309397c7218c
|
|
@ -85,7 +85,7 @@ bool Core::Data::ExdData::loadZoneInfo()
|
|||
int16_t map_index = getField< int16_t >( mapDataFields, 12 );
|
||||
bool is_two_bytes = getField< bool >( mapDataFields, 15 );
|
||||
|
||||
uint8_t weather_rate = getField< uint8_t >( fields, 10 ) > 75 ? 0 : getField< uint8_t >( fields, 10 );
|
||||
uint16_t weather_rate = getField< uint16_t >( fields, 10 ) > 75 ? 0 : getField< uint16_t >( fields, 10 );
|
||||
auto weatherRateFields = weatherRate.get_row( weather_rate );
|
||||
|
||||
int32_t aetheryte_index = getField< int32_t >( fields, 20 );
|
||||
|
@ -520,26 +520,26 @@ boost::shared_ptr< Core::Data::QuestInfo >
|
|||
|
||||
info->quest_level = getField< uint16_t >( row, 4 );
|
||||
|
||||
info->enpc_resident_start = getField< uint32_t >( row, 38 );
|
||||
info->enpc_resident_end = getField< uint32_t >( row, 40 );
|
||||
info->enpc_resident_start = getField< uint32_t >( row, 40 );
|
||||
info->enpc_resident_end = getField< uint32_t >( row, 42 );
|
||||
|
||||
info->reward_exp_factor = getField< uint16_t >( row, 1437 );
|
||||
info->reward_gil = getField< uint32_t >( row, 1438 );
|
||||
info->reward_gc_seals = getField< uint16_t >( row, 1440 );
|
||||
info->reward_exp_factor = getField< uint16_t >( row, 1439 );
|
||||
info->reward_gil = getField< uint32_t >( row, 1440 );
|
||||
info->reward_gc_seals = getField< uint16_t >( row, 1442 );
|
||||
|
||||
info->reward_item_type = getField< uint8_t >( row, 1447 );
|
||||
info->reward_item_type = getField< uint8_t >( row, 1449 );
|
||||
|
||||
for( uint32_t i = 0; i < 6; i++ )
|
||||
{
|
||||
uint32_t entry = getField< uint32_t >( row, i + 1448 );
|
||||
uint32_t entry = getField< uint32_t >( row, i + 1450 );
|
||||
if( entry > 0 )
|
||||
info->reward_item.push_back( entry );
|
||||
|
||||
uint8_t entry1 = getField< uint8_t >( row, i + 1455 );
|
||||
uint8_t entry1 = getField< uint8_t >( row, i + 1457 );
|
||||
if( entry1 > 0 )
|
||||
info->reward_item_count.push_back( entry1 );
|
||||
|
||||
uint8_t entry2 = getField< uint8_t >( row, i + 1462 );
|
||||
uint8_t entry2 = getField< uint8_t >( row, i + 1464 );
|
||||
if( entry2 > 0 )
|
||||
info->reward_item_stain.push_back( entry2 );
|
||||
|
||||
|
@ -547,39 +547,39 @@ boost::shared_ptr< Core::Data::QuestInfo >
|
|||
|
||||
for( uint32_t i = 0; i < 5; i++ )
|
||||
{
|
||||
uint32_t entry = getField< uint32_t >( row, i + 1469 );
|
||||
uint32_t entry = getField< uint32_t >( row, i + 1471 );
|
||||
if( entry > 0 )
|
||||
info->reward_item_optional.push_back( entry );
|
||||
|
||||
uint8_t entry1 = getField< uint8_t >( row, i + 1474 );
|
||||
uint8_t entry1 = getField< uint8_t >( row, i + 1476 );
|
||||
if( entry1 > 0 )
|
||||
info->reward_item_optional_count.push_back( entry1 );
|
||||
|
||||
uint8_t entry2 = getField< uint8_t >( row, i + 1484 );
|
||||
uint8_t entry2 = getField< uint8_t >( row, i + 1486 );
|
||||
if( entry2 > 0 )
|
||||
info->reward_item_optional_stain.push_back( entry2 );
|
||||
}
|
||||
|
||||
info->reward_emote = getField< uint8_t >( row, 1489 );
|
||||
info->reward_action = getField< uint16_t >( row, 1490 );
|
||||
info->reward_action_general1 = getField< uint8_t >( row, 1491 );
|
||||
info->reward_action_general2 = getField< uint8_t >( row, 1492 );
|
||||
info->reward_other = getField< uint8_t >( row, 1494 );
|
||||
info->reward_emote = getField< uint8_t >( row, 1491 );
|
||||
info->reward_action = getField< uint16_t >( row, 1492 );
|
||||
info->reward_action_general1 = getField< uint8_t >( row, 1493 );
|
||||
info->reward_action_general2 = getField< uint8_t >( row, 1494 );
|
||||
info->reward_other = getField< uint8_t >( row, 1496 );
|
||||
|
||||
info->instanced_content_unlock = getField< uint32_t >( row, 1497 );
|
||||
info->instanced_content_unlock = getField< uint32_t >( row, 1499 );
|
||||
|
||||
info->reward_tome_type = getField< uint8_t >( row, 1499 );
|
||||
info->reward_tome_count = getField< uint8_t >( row, 1500 );
|
||||
info->reward_tome_type = getField< uint8_t >( row, 1501 );
|
||||
info->reward_tome_count = getField< uint8_t >( row, 1502 );
|
||||
|
||||
info->reward_reputation = getField< uint8_t >( row, 1501 );
|
||||
info->reward_reputation = getField< uint8_t >( row, 1503 );
|
||||
|
||||
for( uint32_t i = 0; i < 50; i++ )
|
||||
{
|
||||
std::string entry = getField< std::string >( row, i + 47 );
|
||||
std::string entry = getField< std::string >( row, i + 49 );
|
||||
if( entry.size() > 0 )
|
||||
{
|
||||
info->script_entity.push_back( entry );
|
||||
uint32_t entry1 = getField< uint32_t >( row, i + 97 );
|
||||
uint32_t entry1 = getField< uint32_t >( row, i + 99 );
|
||||
info->script_value.push_back( entry1 );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ namespace Core {
|
|||
uint16_t map_id;
|
||||
int16_t discovery_index;
|
||||
bool is_two_byte;
|
||||
uint8_t weather_rate;
|
||||
uint16_t weather_rate;
|
||||
std::map< uint8_t, int32_t> weather_rate_map;
|
||||
|
||||
int32_t aetheryte_index;
|
||||
|
|
|
@ -44,88 +44,88 @@ namespace Packets {
|
|||
*/
|
||||
enum ServerZoneIpcType : uint16_t
|
||||
{
|
||||
Ping = 0x0065, // updated for sb
|
||||
Init = 0x0066, // updated for sb
|
||||
Chat = 0x0067, // updated for sb
|
||||
Ping = 0x0065,
|
||||
Init = 0x0066,
|
||||
Chat = 0x0067,
|
||||
ChatBanned = 0x006B,
|
||||
Logout = 0x0077, // updated for sb
|
||||
Logout = 0x0077,
|
||||
CFNotify = 0x0078,
|
||||
CFMemberStatus = 0x0079,
|
||||
CFDutyInfo = 0x007A,
|
||||
CFPlayerInNeed = 0x007F,
|
||||
|
||||
Playtime = 0x00AF, // updated for sb
|
||||
Playtime = 0x00B9, // test update
|
||||
SocialRequestError = 0x00AD,
|
||||
SocialRequestResponse = 0x11AF,
|
||||
CFRegistered = 0x00B0,
|
||||
SocialList = 0x00B4, // updated for sb
|
||||
UpdateSearchInfo = 0x00B6, // updated for sb
|
||||
InitSearchInfo = 0x00B7, // updated for sb
|
||||
ServerNotice = 0x00BC, // updated for sb
|
||||
SetOnlineStatus = 0x00BD, // updated for sb
|
||||
BlackList = 0x00CA, // updated for sb
|
||||
LogMessage = 0x00D0, // updated for sb
|
||||
LinkshellList = 0x00D1, // updated for sb
|
||||
StatusEffectList = 0x00F0, // updated for sb
|
||||
Effect = 0x00F1, // updated for sb
|
||||
SocialRequestResponse = 0x00BB, // updated 4.1
|
||||
CFRegistered = 0x00B8, // updated 4.1
|
||||
SocialList = 0x00BE, // updated 4.1
|
||||
UpdateSearchInfo = 0x10BB,
|
||||
InitSearchInfo = 0x00BC, // updated 4.1
|
||||
ServerNotice = 0x00C6, // updated 4.1
|
||||
SetOnlineStatus = 0x00C7, // test update
|
||||
BlackList = 0x00D4, // updated 4.1
|
||||
LogMessage = 0x00D0,
|
||||
LinkshellList = 0x00D1,
|
||||
StatusEffectList = 0x00F0,
|
||||
Effect = 0x00F1,
|
||||
GCAffiliation = 0x00FC,
|
||||
|
||||
ActorSetPos = 0x0114, // updated for sb
|
||||
ActorCast = 0x0116, // updated for sb
|
||||
PlayerSpawn = 0x0110, // updated for sb
|
||||
NpcSpawn = 0x0111, // updated for sb
|
||||
ActorMove = 0x0112, // updated for sb
|
||||
HateList = 0x011A, // updated for sb borked
|
||||
UpdateClassInfo = 0x011D, // updated for sb
|
||||
InitUI = 0x011E, // updated for sb
|
||||
PlayerStats = 0x011F, // updated for sb
|
||||
ActorOwner = 0x0120, // updated for sb
|
||||
PlayerStateFlags = 0x0121, // updated for sb
|
||||
PlayerClassInfo = 0x0123, // updated for sb
|
||||
ModelEquip = 0x0124, // updated for sb
|
||||
ItemInfo = 0x0139, // updated for sb
|
||||
ContainerInfo = 0x013A, // updated for sb
|
||||
InventoryTransactionFinish = 0x013B, // updated for sb
|
||||
InventoryTransaction = 0x013C, // updated for sb
|
||||
CurrencyCrystalInfo = 0x013D,
|
||||
ActorSetPos = 0x0114,
|
||||
ActorCast = 0x0116,
|
||||
PlayerSpawn = 0x011C, // updated 4.1
|
||||
NpcSpawn = 0x011D, // updated 4.1
|
||||
ActorMove = 0x011E, // updated 4.1
|
||||
HateList = 0x011A,
|
||||
UpdateClassInfo = 0x011D,
|
||||
InitUI = 0x012B, // updated 4.1
|
||||
PlayerStats = 0x012C, // updated 4.1
|
||||
ActorOwner = 0x012D, // updated 4.1
|
||||
PlayerStateFlags = 0x013A, // updated 4.1
|
||||
PlayerClassInfo = 0x013B, // updated 4.1
|
||||
ModelEquip = 0x013C, // updated 4.1
|
||||
ItemInfo = 0x014C, // updated 4.1
|
||||
ContainerInfo = 0x014D, // updated 4.1
|
||||
InventoryTransactionFinish = 0x014E, // updated 4.1
|
||||
InventoryTransaction = 0x014F, // updated 4.1
|
||||
CurrencyCrystalInfo = 0x0150, // updated 4.1
|
||||
InventoryActionAck = 0x1139,
|
||||
UpdateInventorySlot = 0x0140, // updated for sb
|
||||
UpdateInventorySlot = 0x0153, // updated 4.1
|
||||
AddStatusEffect = 0x0141,
|
||||
ActorControl142 = 0x0142, // unchanged for sb
|
||||
ActorControl143 = 0x0143, // unchanged for sb
|
||||
ActorControl144 = 0x0144, // unchanged for sb
|
||||
UpdateHpMpTp = 0x0145, // unchanged for sb
|
||||
ActorControl142 = 0x0142,
|
||||
ActorControl143 = 0x0143,
|
||||
ActorControl144 = 0x0144,
|
||||
UpdateHpMpTp = 0x0145,
|
||||
|
||||
|
||||
|
||||
EventPlay = 0x0154, // updated for sb
|
||||
EventStart = 0x015D, // updated for sb
|
||||
EventFinish = 0x015E, // updated for sb
|
||||
EventPlay = 0x0160, // updated 4.1
|
||||
EventStart = 0x0169, // updated 4.1
|
||||
EventFinish = 0x016A, // updated 4.1
|
||||
|
||||
EventLinkshell = 0x0169,
|
||||
|
||||
QuestActiveList = 0x0171, // updated for sb
|
||||
QuestUpdate = 0x0172, // updated for sb
|
||||
QuestCompleteList = 0x0173, // updated for sb
|
||||
QuestFinish = 0x0174, // updated for sb
|
||||
QuestActiveList = 0x017D, // updated 4.1
|
||||
QuestUpdate = 0x017E, // updated 4.1
|
||||
QuestCompleteList = 0x017F, // updated 4.1
|
||||
QuestFinish = 0x0180, // updated 4.1
|
||||
QuestMessage = 0x0179,
|
||||
QuestTracker = 0x0181, // updated for sb
|
||||
ActorSpawn = 0x0190, // todo: split into playerspawn/actorspawn and use opcode 0x110/0x111
|
||||
ActorFreeSpawn = 0x0191, // unchanged for sb
|
||||
InitZone = 0x019A, // unchanged for sb
|
||||
WeatherChange = 0x01AF, // updated for sb
|
||||
Discovery = 0x01B2, // updated for sb
|
||||
QuestTracker = 0x0181,
|
||||
ActorSpawn = 0x0190,
|
||||
ActorFreeSpawn = 0x0191,
|
||||
InitZone = 0x019A,
|
||||
WeatherChange = 0x01AF,
|
||||
Discovery = 0x01B2,
|
||||
|
||||
EorzeaTimeOffset = 0x01B4,
|
||||
|
||||
CFAvailableContents = 0x01CF,
|
||||
|
||||
PrepareZoning = 0x0239, // updated for sb
|
||||
PrepareZoning = 0x0248, // updated 4.1
|
||||
|
||||
// Unknown IPC types that still need to be sent
|
||||
// TODO: figure all these out properly
|
||||
IPCTYPE_UNK_320 = 0x1FB,
|
||||
IPCTYPE_UNK_322 = 0x1FD,
|
||||
IPCTYPE_UNK_320 = 0x0207, // updated 4.1
|
||||
IPCTYPE_UNK_322 = 0x0209, // updated 4.1
|
||||
|
||||
};
|
||||
|
||||
|
@ -138,53 +138,53 @@ namespace Packets {
|
|||
{
|
||||
|
||||
PingHandler = 0x0065, // updated for sb
|
||||
InitHandler = 0x0066, // updated for sb
|
||||
ChatHandler = 0x0067, // updated for sb
|
||||
InitHandler = 0x0066, // updated 4.1
|
||||
ChatHandler = 0x00AD, // updated 4.1
|
||||
|
||||
FinishLoadingHandler = 0x0069, // updated for sb
|
||||
FinishLoadingHandler = 0x0069, // updated 4.1
|
||||
|
||||
CFCommenceHandler = 0x006F,
|
||||
CFRegisterDuty = 0x0071,
|
||||
CFRegisterRoulette = 0x0072,
|
||||
PlayTimeHandler = 0x0073, // updated for sb
|
||||
LogoutHandler = 0x0074, // updated for sb
|
||||
PlayTimeHandler = 0x0073, // updated 4.1
|
||||
LogoutHandler = 0x0074, // updated 4.1
|
||||
|
||||
CFDutyInfoHandler = 0x0078,
|
||||
CFDutyInfoHandler = 0x0078, // updated 4.1 ??
|
||||
|
||||
SocialReqSendHandler = 0x00A5,
|
||||
SocialListHandler = 0x00AA, // updated for sb
|
||||
SetSearchInfoHandler = 0x00AC, // updated for sb
|
||||
SocialReqSendHandler = 0x00AE, // updated 4.1
|
||||
SocialListHandler = 0x00B3, // updated 4.1
|
||||
SetSearchInfoHandler = 0x00B5, // updated 4.1
|
||||
|
||||
ReqSearchInfoHandler = 0x00AD,
|
||||
ReqSearchInfoHandler = 0x00B6, // updated 4.1
|
||||
|
||||
BlackListHandler = 0x00B7, // updated for sb
|
||||
BlackListHandler = 0x00C0, // updated 4.1
|
||||
|
||||
LinkshellListHandler = 0x00BF, // updated for sb
|
||||
LinkshellListHandler = 0x00C8, // updated 4.1
|
||||
|
||||
FcInfoReqHandler = 0x0100, // updated for sb
|
||||
FcInfoReqHandler = 0x0109, // updated 4.1
|
||||
|
||||
ZoneLineHandler = 0x0107, // updated for sb
|
||||
ActionHandler = 0x0108, // updated for sb
|
||||
DiscoveryHandler = 0x0109, // updated for sb
|
||||
ZoneLineHandler = 0x0110, // updated 4.1
|
||||
ActionHandler = 0x0111, // updated 4.1
|
||||
DiscoveryHandler = 0x0112, // updated 4.1
|
||||
|
||||
SkillHandler = 0x010B, // updated for sb
|
||||
GMCommand1 = 0x010C, // updated for sb
|
||||
GMCommand2 = 0x010D, // updated for sb
|
||||
UpdatePositionHandler = 0x010F, // updated for sb
|
||||
SkillHandler = 0x0114, // updated 4.1
|
||||
GMCommand1 = 0x0115, // updated 4.1 ??
|
||||
GMCommand2 = 0x0116, // updated 4.1 ??
|
||||
UpdatePositionHandler = 0x0118, // updated 4.1
|
||||
|
||||
InventoryModifyHandler = 0x0116, // updated for sb
|
||||
InventoryModifyHandler = 0x011F, // updated 4.1
|
||||
|
||||
TalkEventHandler = 0x011F, // updated for sb
|
||||
EmoteEventHandler = 0x0120, // updated for sb
|
||||
WithinRangeEventHandler = 0x0121, // updated for sb
|
||||
OutOfRangeEventHandler = 0x0122, // updated for sb
|
||||
EnterTeriEventHandler = 0x0123, // updated for sb
|
||||
TalkEventHandler = 0x0128, // updated 4.1
|
||||
EmoteEventHandler = 0x0129, // updated 4.1
|
||||
WithinRangeEventHandler = 0x012A, // updated 4.1
|
||||
OutOfRangeEventHandler = 0x012B, // updated 4.1
|
||||
EnterTeriEventHandler = 0x012C, // updated 4.1
|
||||
|
||||
ReturnEventHandler = 0x0128,
|
||||
TradeReturnEventHandler = 0x0129,
|
||||
ReturnEventHandler = 0x0131, // updated 4.1
|
||||
TradeReturnEventHandler = 0x0132, // updated 4.1
|
||||
|
||||
LinkshellEventHandler = 0x013B,
|
||||
LinkshellEventHandler1 = 0x013C,
|
||||
LinkshellEventHandler = 0x0144, // updated 4.1 ??
|
||||
LinkshellEventHandler1 = 0x0145, // updated 4.1 ??
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
Loading…
Add table
Reference in a new issue