- Cleaned up char server "set all offline" implementation to remove only characters from the map-server from which the packet was invoked. It will also now correctly kick/set-character offline from the map-server if they are connected.
- Cleaned up the char-sql reconnect code. It no longer sets everyone to offline.
- Removed setting "kick_on_disconnect", servers will no longer kick characters out when there's a disconnection. Instead, it'll use the most logical approach: Set characters into a "lost" state when there's a disconnection, on reconnect, resent the list of online-characters, do a sync, and let the difference be characters to be removed. Also, the map-server won't release character data until it's saved and the ack returns from the char-server to prevent data loss (all this data is resent on reconnect for saving anyway).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7600 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added function char_family to check if there's a family state given the three character ids, instead of doing individual checks all the time.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7553 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Renamed summons_inherit_effects to summons_trigger_autospells as the setting now only makes the attacks of the slaves trigger the autospells of the master (as it should be).
- Corrected code capping no_spawn_on_player to 50 when the max should be 100.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7459 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Use charif_sendallwos rather than manually altering the buffers of each server.
- Use the id variable for identifying current char-server instead of scanning the connected servers for it (it's doing the same work twice)
- Added config setting sync_ip_interval to specify how long to go before updating ip. Defaults to 0 (disabled)
- Sending ip update packets will only be done when the ip changed now.
- Removed dns_str variables, and now char_ip_str/login_ip_str/map_ip_str will hold the unresolved dns address (as these variables have no use otherwise)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7360 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added mapflag "loadevent", now load-map script events will ONLY trigger on maps with this mapflag on, rather than every map.
- High Jump can now be used in all versus maps.
- Added Kaite's opt3 value, taken from jA
- Added state dirty == 2 to storages. Signals when a storage was sent for final saving. Said storage is removed from memory after the ack from the char-server, and they are sent to save if the map/char servers reconnect before the act arrives. In short: they are guaranteed to be saved after a char logs out.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7358 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Compilation warnings and errors.
[Improved]:
- Changed and moved IP sync status messages to elaborate more.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7290 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Applied said function around most of the code where needed. Removed includes for the OS/network system pretty much from every file (our socket.c file should handle this)
- Added clif_getip_long, which returns the ip as a long. Prevents having to include the files to define the int_addr structure in all files that include clif.h
- Made the GM mute request bypass the manner_system setting.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7285 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Applied use of parse_hostbyname() in chrif.c to fix compilation errors.
- status_percent_change will now account for when the target's max hp/sp is above INT_MAX.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7281 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Cleaned up character saving in char-sql, it no longer needs to query the database to see if the player exists on each char-save, instead it checks the received data against the online-players db.
- Added an error message on the char-server when the received player data size does not matches with the expected size (should avoid the crash that happens on such a memcpy).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7160 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Modified npc_click to receive the bl that was clicked directly. Also cleaned it up so it isn't as easy to crash the server with invalid ids <.<
- Moved npc_checknear to npc_checknear2 and added npc_checknear. The near version receives a bl, checks it's validity, and returns a TBL_NPC object, near2 does the same but doesn't checks for type NPC. The first returns a pointer, the second returns 1 on fail, 0 success.
- Also uncommented various npc_checknear calls in the code, who's idea was to comment them out so you could exploit npcs from afar with custom packets?
- Added overflow checks for bonus settings mdef_rate/def_rate.
- Added missing update of INT after a buf.
- Small cleanup of how SC_BLEEDING works.
- Fixed party_foreach_samemap invoking the function on the CASTER instead of on the party members.
- Added clif_parse_ActionRequest_sub to handle player commands, is used from npc_click or any other function that needs to "re-route" a player's request.
- Modified clif_parse_NpcClicked to handle the different situations with different bl-objects (attack on players/mobs, click on npcs or mobs with npc attached)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7103 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Moved guild_exp_rate from a mapserver battle config setting to a char server config. It no longer modifies the total taxed exp as seen on the guild information window, but directly modifies the exp that the guild earns.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7074 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added function char_read_fame_list for famelist reading. Invoked it on init, and made it be sent automatically to connecting map servers.
- Removed request to reload fame list when map server connects.
- Some cleaning of the fame-list reading code.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6895 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added Option constants for Carts, fixed OPTION_FLYING (it conflicts with OPTION_XMAS?)
- Updated clif.c to check for OPTION_WEDDING|OPTION_XMAS instead of view class to block attacks and skill usage.
- Removed struct pc_base_job and functions pc_calc_base_job/pc_calc_base_job2 which are no longer used anywhere (were long ago deprecated infavor of the new jobid system)
- Cleaned up change-cart code.
- Modified SC_XMAS to not change your view anymore and only set the proper option value (OPTION_XMAS)
- Cleaned up the code regarding char_gm reading.
- Changed the option field to unsigned short to make room for the higher values.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6229 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Removed login sql handle from the map server as it isn't used for anything.
- Made the login sql handle on the char-sql server be used only when gm_read_method 1 is enabled.
- Small fixes to npc_enable, added BL_NPC handling on status_get_sc.
- Added a path_search check in map_random_dir, so that the random direction picked up doesn't goes through walls and all that.
- Some changes to close-confine, status start will fail when the source is not found or it doesn't has sc-data.
- pc_setoption no longer changes the character's class when mounting/dismounting, it only changes the view-class.
- The peco-crash-fix from the char servers is still needed. This packet must be wrong! We likely need to sniff it.
- Modified the char-txt server to modify the class of mounted characters to their non-mounted version. Added an upgrade_svn file to handle the class update on the sql tables.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5902 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added battle_config debuff_on_logout which removes Asura's SP regen delay and Strip-Equip effects on logout when set to yes (default).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5644 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed TK and Soul Linker's position of their job entry in exp2.txt, thanks to Coltaro.
- Fixed NPC_GRANDDARKNESS targetting the enemy instead of yourself in mob_skill_db.
- Fixed Grandcross's hit and range entries in the skill_db (it had hit 5? that wasn't even a valid value from the description)
- PR_BENEDICTIO now ignores mdef
- Removed the status_isdead checks from status_check_skilluse, they are now done only on the skill_castend_* functions.
- Fixed NPC_SELFDESTRUCTION not doing the correct damage to oneself.
- Fixed chatlog's x/y column capacity.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5584 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Changed a bit the information of the subnet checking to include the ip that is being checked.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5458 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Commented the char server setting up Prontera as default point when there's none (this bug should not exist)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5218 54d463be-8e91-2dee-dedb-b68131a5f0ec
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EVERYTHING ELSE
GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5094 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Updated Fogwall, Spiderweb, and HP Conversion
* Adding saving character online/offline for TXT char and login (unfinished)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@1411 54d463be-8e91-2dee-dedb-b68131a5f0ec