* Compile on Freebsd
Small changes needed for compilation on Freebsd. Note that you'll have
to pass -DEQEMU_BUILD_ZLIB=OFF on the cmake command line. The bundled
zlib-ng does not build on Freebsd even though mainline zlib-ng does.
* Fix build errors: typo
This maybe in older clients as well, but I couldn't verify it and those
clients never did anything with this field so it doesn't matter.
MQ2 calls this SubClass, but we call the field it's a "sub" of Type so I
figured we'd call it SubType.
We still need to rename the DB field and handle it server side etc
It's not guaranteed that deflate output will be smaller than the input.
In some cases zlib-ng (Z_BEST_SPEED) compression is causing packets to
increase in size and exceed m_max_packet_size. This results in the
packets never being fully received by the client.
Currently this is most reproducible in the spell_book section of the
OP_PlayerProfile message. After using #scribespells this portion of the
player profile has a lot of incrementing spellids which may be affecting
the compression algorithm. The client never processes the player profile
(MSG_SEND_PC) message and times out on zone entry.
This isn't necessarily a bug with zlib-ng since it inflates back to the
original input and normal zlib could do this too, but the current netcode
doesn't handle this.
This is a field in the packet, live only uses this for Lay on Hands
Currently I didn't add this to the packet since it has 0 effect on the
client.
We could move this field to aa_ranks which would give more flexibility
for custom servers, but no one said they wanted it there.
We do this in GlobalLootEntry::PassesRules since we want to check if the
hot zone status changes during run time
Value can be null, if null it's not checked. If the value is 0 the zone
must not be a hot zone (I guess one might want that) and if it's not 0,
the zone must be a hot zone