Implemented Randomized Start Point
* Fixes#805.
* Character's will follow somewhat of the official method of a 'random' start point at their first login.
* Official servers use load balancing for setting the start point dynamically according to user count, whereas we at rAthena wanted to stay simple since we don't believe you guys will need this kind of load balancing for new characters.
* Moved parsing for start_point and start_items to separate functions.
* Moved startitem struct to mmo.h and declared start_items in the charserv_config.
* Adjusted the MAP_DEFAULT_NAME for pre-renewal to the correct map.
* This feature require the client support before 2015-08-26 or newer
user can select cart for change to new design
Make sure you data&lub support for this
Special Thanks you @Lemongrass3110, @renniw
This is a Christmas gift for the rAthena people.
It's a source side define now, because you should really only change this if you know what you are doing.
Beautified the number for pre 2013-12-23, thanks to @dastgir.
Fixed a warning which was added by the last commit and was issued with the default settings, thanks to @cydh.
Follow up to f4b42b2
According to 3ceam revision 764 clients from 2013-12-23 on can deal with bigger packets. 3ceam uses 65636 as maximum, but we decided to stick with the maximum for unsigned shorts. Thanks to Rytech!
Please consider staying with the default value, because we will remove this configuration soon and make it a source side define which is depending on the packetversion define.
Fix an invalid check on skill_parse_row_requiredb() for EQUIP_REQUIRE
Fix itemdb_group_free call in itemdb_read_itemgroup_sub using real
va_list, (preventing compilation on ARM)
Add some notes.
Change the type of
father_id,mother_id,child_id
mail.zeny,mail.send_id,mail.dest_id
from int to uint32, as this is their DB representation anyway and most
of those are mapped to char_id which is uint32.
This should remove the need of implicite cast and improve security
overall.
-To avoid having long operation repeated twice, peoples shouldn'tuse long operation into does macro but they do so...
-To avoid double increment or thing like such.
-Yes this involve some implicite cast sometime, but that still better then redo 10 dereference...
Move valkyrie sample config into conf/
Change path for relative path so that it could be applied for all.
tested with : 'valkyrie -f valkyrie_sample.cfg'
Change include in common, true that complicate move for those file but
will facilitate the parsing for some ide.
* Fixes#562 - Fixes Crystallization not taking base VIT into account correctly.
* Confirmed on Aegis that Base Status Stats are NOT affected by job, skill, or item bonuses. These bonuses are stored in Battle Status.
* Cleaned up db_vdestroy errors at server shutdown.
* Expanded the ERS system. Thanks to Hercules.
* Added ERS to the database trees to speed up iterator memory allocation. Thanks to Hercules.
* Added `console_msg_log` for char-server and login-server.
* Added `console_log_filepath` to determines log filepath.
* Default for map_athena.conf is `./log/map-msg_log.log`, removed the hardcoded filepath.
* Default for char_athena.conf is `./log/char-msg_log.log`.
* Default for login_athena.conf is `./log/login-msg_log.log`.
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Upgraded the script engine variables to no longer be limited.
* Increased array limit from 127 to 2 billion.
* Improvement in overall speed and storage size.
* All variable types now support arrays.
- Merge from HerculesWS/Hercules@82b583b. Thanks to those who worked on it.
* Moved Bank Vault from `login` table (login-server level) to `global_reg_value` as #BANKVAULT (char-server level)
* IMPORTANT: Read & import upgrade_20150408.sql
* Follow up cbdc0127, another fix for Point Shop NPC.
* Follow up 022d7289, corrected picklog initial for bound items that removed when member of guild/party or guild/party is broken. Please import upgrade_20150408_log.sql
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Enable it by uncomment `#define PACKET_OBFUSCATION` in mmo.h
* Obfuscation keys are defined in db/packet_db.txt, each packet_ver has their own default keys (for temperory lookup) in `packet_keys:` right after `packet_ver:`
* Keys can be refined (user-defined keys) by defining the keys in `packet_keys_use:` in file db/[import/]packet_db.txt
* This feature only for client 20110817 or newer
* `@reloadpacketdb` won't changes the keys, so make sure define everything before run the map-server.
Thank to @icxbb-xx, @aleos, 5a942993dd
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
* Moved hardcoded `DEFAULT_MAP`, `DEFAULT_MAP_X`, and `DEFAULT_MAP_Y` definition to conf/char_athena.conf: `default_map`, `default_map_x`, and `default_map_y` for `DEFAULT_MAP`
* Default map existance check only will be checked once, after map_index finished load by char-server, previously map-server also do a check that maybe cause unnecessary debug message
* `instance_start` value should be init'd with `map_num` not by `map_num + 1`. I was causing send extra 1 empty map to char-server.
* A little clean up in `chmapif_parse_getmapname()` and `doc/packet_interserv.txt`
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
Bonus HP/SP Vanish updates:
* Added 'bonus3 bHPVanishRaceRate,r,n,x' (2074) and 'bonus3 bSPVanishRaceRate,r,n,x' (2075)
* Corrected documentation about 'bHPVanishRate' and 'bSPVanishRate', rate should be n/100%, 10000 for 100%
* 'bHPVanishRate' and 'bSPVanishRate' applied regardless the target's Race and map (before, if target is player bHPVanishRate only works in PVP/GVG maps)
* Changed Velum item scripts:
* (1294) Velum_Scare to 'bonus3 bSPVanishRaceRate,RC_Player,10000,10;'
* (1395) Velum_Buster to 'bonus3 bSPVanishRaceRate,RC_Player,10000,10;'
* (18113) Velum_Arbalest to 'bonus3 bSPVanishRaceRate,RC_Player,10000,4;'
* (21002) Velum_Katzbalger to 'bonus3 bHPVanishRaceRate,RC_Player,10000,8;'
Bonus Script clean up
* Removed fixed array size (MAX_PC_BONUS_SCRIPT) of bonus_script on players, changed to link list.
* Changed fixed script string on player's bonus_script to StringBuf, reduce memory usage for each connected player.
* Added new flags to expand duplicated script and flag to allow duplicate script.
* Reduced buf length from 1024 to 512 on bonus_script_data (used for saving/loading bonus_script from char-server). Still, MAX_PC_BONUS_SCRIPT is used to gives limit data can be loaded.
* Merged 'pc_bonus_script_clear_all' to 'pc_bonus_script_clear'
* Now bonus script will be saved on auto-save timer or other save request, prevent losing the bonus when "something" happen. But, saving when player is quitting will removes the bonus that won't be saved on logout.
* Fixed Superstar_Snack (22843) and Sealed_Dracula_Card (22846) fields
NOTE:
Please import 'upgrade_20150131.sql' for `bonus_script` table changes
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>