- When a monster loses its target, it will now properly display movement to the next cell rather than snapping back to the previous cell
- Looters will no longer spam movement packets to the client when they go for loot
- Added some base implementation for sub-cell coordinates
- Fixes#8232
Co-authored-by: Lemongrass3110
*Removed potentially dangerous map_additemfloor calls
*Added weight/inventory checks for marry atcommand
*Fixed overweight message for box items
*Fixed inventory space check for box items to match official requirement (the total number of the items the box will give you *r min 10, plus 1)
*Fixed inventory space message for box items
*Fixed pet egg creation not deleting the pet data when failed to add it to the inventory
*Fixed pet egg creation dropping the egg on the floor when failed to add it to the inventory
*Fixed pet equipment dropping on the floor when failed to retrieve the item
*Added a battle configuration to prevent removing the pet equipment (and disappear into nothingness) when failed to retrieve the item
*Added missing skill_drop_items_full checks on several skills (official behavior makes the items disappear)
---------
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Standardized initial packet length of dynamic packets to sizeof
Standardized normal casts of packet_buffer to reinterpret_cast
Standardized packet length incrementations to static_cast with decltype
Removed unused function clif_setdisguise
Fixed an issue with string length in clif_scriptmenu
Removed struct keywords
Resolved a few warnings
- Added a new monster stat "ClientAttackMotion" to mob_db.yml which is the time from when a monster attacks until which the damage shows on the client at 1x speed
- Added a new config synchronize_damage; when set to "yes", the client will display the damage of normal monster attacks at the exact time it is applied on the server, removing position lag (fixes#259)
Special thanks to all people who worked together to make this possible.
Co-authored-by: aleos, Lemongrass3110, Atemo
Cleaned up code.
Fixed invalid allocations from the old code.
Changed to struct.
Use correct packet id.
Fixed invalid RENEWAL check instead of PACKETVER.
Thanks to @aleos89
- When a Mercenary gains a bonus, there will now be an animation
- Mercenary bonuses now last for 5 minutes instead of 10 minutes
- Fixed HP/SP recovery values of Mercenaries (and Elementals)
- Mercenaries now recover HP when walking
- Homunculi no longer recover SP when walking
- Mercenary natural recovery interval is 8s for HP and 6s for SP
- Homunculus natural recovery interval is 2s for HP and 4s for SP
- MER_CRASH now only deals 1 hit and can be cast-cancelled
- Frenzy now drains HP every 10 seconds instead of every 15 in pre-renewal
- Fixed SP cost Mercenary Frenzy (100 -> 200 SP)
- Killing monsters exactly 2 times below you base level now still counts as mercenary kill
- Fixes#8184
- Fixes#7663
Communication between the login-server and the client is now done with structs.
Moved the definition of the global reusable packet buffer to socket.hpp