diff --git a/common/patches/rof.cpp b/common/patches/rof.cpp index 9f9f58ab2..fae650eb5 100644 --- a/common/patches/rof.cpp +++ b/common/patches/rof.cpp @@ -2852,7 +2852,7 @@ namespace RoF // Check clientver field to verify this AA should be sent for SoF // clientver 1 is for all clients and 5 is for Live - if (emu->clientver <= 5) + if (emu->clientver <= 7) { OUT(id); eq->unknown004 = 1; diff --git a/common/patches/rof2.cpp b/common/patches/rof2.cpp index 708c5a6a9..42e97b9eb 100644 --- a/common/patches/rof2.cpp +++ b/common/patches/rof2.cpp @@ -2941,7 +2941,7 @@ namespace RoF2 // Check clientver field to verify this AA should be sent for SoF // clientver 1 is for all clients and 5 is for Live - if (emu->clientver <= 5) + if (emu->clientver <= 8) { OUT(id); eq->unknown004 = 1; diff --git a/zone/aa.cpp b/zone/aa.cpp index b0208326a..b6e220d60 100644 --- a/zone/aa.cpp +++ b/zone/aa.cpp @@ -1309,11 +1309,9 @@ void Client::SendAA(uint32 id, int seq) { SendAA_Struct* saa_next = nullptr; saa_next = zone->FindAA(saa->sof_next_id); - // hard-coding values like this is dangerous and makes adding/updating clients a nightmare... - if (saa_next && - (((GetClientVersionBit() == 4) && (saa_next->clientver > 4)) - || ((GetClientVersionBit() == 8) && (saa_next->clientver > 5)) - || ((GetClientVersionBit() == 16) && (saa_next->clientver > 6)))){ + // this check should work as long as we continue to just add the clients and just increase + // each number .... + if (saa_next && static_cast(GetClientVersion()) < saa_next->clientver - 1) { saa->next_id=0xFFFFFFFF; } }