* Implements Map Zones which allows easier configuration of map settings.
* The restricted mapflag has been removed as they will no longer be needed.
* General cleanups and optimizations.
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
Faster and with no module bias
Removed rnd_init, rnd_uint32 and rnd_uniform
From now on we will only use rnd_value(min, max) for values in range [min, max] and rnd_chance(chance, base) for chances
Fixes#7881Fixes#7883Fixes#7884Fixes#7885
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Added some malloc reporting
Forward socket allocation information
Forward WFIFOHEAD allocation information
Cleanup to clif_cashshop_show
Cleanup to clif_cashshop_result
Cleanup to clif_cashshop_list
Fixes#7757
Thanks to @ChiesaV
* Updated disablenpc/enablenpc script commands using OPTION_HIDE instead of OPTION_INVISIBLE, to correctly display the effects when the npcs are disabled/enabled. The other behaviors are kept.
* Converts the Homunculus Database and Homunculus Skill Tree Database into one YAML flat file.
* General cleanups and optimizations.
* Includes CSV2YAML converter.
Thanks to @Lemongrass3110 and @Atemo!
Co-authored-by: Atemo <capucrath@gmail.com>
Converted last_point to mapname
Converted save_point to mapname
Converted memo to mapname
Converted start point to mapname
Removed default map
Converted party member to mapname
Converted maplists to mapname
Removed mapindex loading
Fixed instance loading with multiple map-servers
Fixed castle loading with multiple map-servers
Fixed battleground loading with multiple map-servers
Fixed warping between map-servers
Thanks to @aleos89 for his help!
Prevent opening vending UI multiple times in one vending session.
Discard cart modification packet when the player is in a 'can't act' state.
Fixes#3408
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Make map_session_data a class, call constructor/destructor on alloc/free
* add getSCE
* add create, delete, clear SCE
* Use getSCE, make data access private
* add a cache for last-fetched status
* Adds battle config macro_detection_punishment to ban or jail characters.
* Adds battle config macro_detection_punishment_time to adjust the duration of ban/jail for players who fail the captcha challenges.
* Adds script command macro_detector which invokes the captcha challenge.
* General cleanups to the jail functions to remove duplicate code.
* General cleanups to the macro punishment calls to remove duplicate code.
* Ending SC_JAILED will now properly remove the jail status rather than trying to reset the timer to 1 second resolving any possibility of players getting stuck.
Thanks to @Lemongrass3110!
This is required for features like #6640
Added COLOR_LIGHT_YELLOW
Cleaned up color definitions, its useless to store them as string first.
Dynamic NPCs will stay when you switch map and come back in time.
Dynamic NPCs will be removed instantly when you log out.
You can only create one dynamic NPC at a time.
Thanks to @Atemo!
* Adds the official client macro detection system.
* Includes the ability to load imagery at server boot.
* See doc/captcha_db.txt for more information!
Thanks to @Asheraf and @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>