* Fixes#2853.
* Holy Water should not cast or consume SP when the player has no empty bottles, both in water (and water skills) and outside water.
Thanks to @Daegaladh!
The button to access pin code menu after entering the correct code was likely removed in this client.
It was rendered in between all the characters if we send out the PASSED state instead of the OK state.
Thanks to Bruno
In this client the new character select and cash shop UI from Ragnarok Zero were merged into the Sakray client.
Increased MAX_CHARS to 15 to fit the new character select
Added possibility to overwrite MAX_CHARS in defines_pre.h
As always thanks to @4144 for the shuffle packets and keys.
* Fixes#2835.
* Rolling Cutter counter should only be reset on physical click-walks, not by any other movement.
Thanks to @ecdarreola and @secretdataz!
* Cleaned up Miracle damage bonus
* Fixes#2809, #2823.
* Moved the bulk of the checks outside of the status change check.
* This was possibly preventing the bonus from being applied when no statuses are active.
Thanks to @Dakado!
* Fixed Star Gladiator's SLS Wrath ATK calculation to match official servers.
* Added config to hide last chars of player's name `broadcast_hide_name` and its default value is 2.
* Fixed `getgroupitem` that should give unidentified item for equipment types.
* Added optional param for `getgroupitem` and `getrandgroupitem` to always give player identified item, ignores the `itemdb_isidentified`'s check.
* Thanks to @aleos89 @Lemongrass3110
* Fixes#2703.
* Added alternative for script command bpet: birthpet.
* Added alternative for script command pet: catchpet.
* Updated documentation for script command pet.
* Added PET_CATCH_UNIVERSAL_ITEM for script command pet which will attempt to catch the targeted monster as long as it is in the pet database and the targeted monster requires the lure item used.
Thanks to @sader1992!
* Duels are now dynamically created and no longer statically consumes memory.
* Removed max number of duel at once.
* Updated duel modules for multi-thread and safer management.
* Remove various statically allocated tab.
* Removed duplicate code for npc_movenpc.
* Fix few warnings.
Thanks for suggestions from @anacondaqq.
* Cleaned up renewal ASPD calculations
* Fixes#2067 and fixes#2224.
* Adjusted the ASPD table to match Aegis values.
* Angra Manyu now disregards base ASPD values (Pre-Renewal only).
* Relocated Angra Manyu check
* Moved Angra Manyu check to the front to avoid useless calculations.
Thanks to @Lemongrass3110!
* Corrected double weapon calculations
* Resolved wearing two weapons causing ASPD to drop significantly.
* Corrected some typos in the Assassin class ASPD table.
* Added a missing Shadow Arms equipment check.
Thanks to @Lilori!
* Removed some unneeded defines
* Removed the single handed and double handed weapon max defines.
Thanks to @Jeybla!
* Renamed constants to keep legacy values
* Update status.cpp
* Fix#2694
Move down skill_unit_move(bl,gettick(),4) of unit_remove_map_ to avoid conflict with duel changing realm.
The issue was that skill_unit_onleft was called before the duel_leave handling which was reapplying skill_unit_onplace causing an infinite status duration.
Other skill might had same issue.
* Small optimisation.
Avoid calling status_change_end when we have no status set yet (or no status_change holder).
Move down overrecurent call to status_change_end SC_ROLLINGCUTTER.
* Switched mob db searches to find
* Replace NULL with nullptr
As suggested by @Jeybla
This way no (caught) exceptions will be reported in visual studio anymore
* status_change_timer refactorization
* Changes some pointers to const pointers to prevent unwanted behavoir.
* Changes sc_timer_next to a lambda function with only the tick as a
paramter.
* sce is not reassigned in sc_timer_next anymore, therefore it should be
crash safe (see #2414 and #2539)
* Fixes#2539
* Thanks to @whupdo, @MuzTank and @admkakaroto!