- Added Gatling Fever's batk bonus.
- Some cleaning in status_damage which should prevent trying to free already free'd pointers when unit_remove_map invokes unit_free (when status_damage was going to invoke unit_free anyway)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8308 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added homun saving/loading support to char-TXT. Note that this is completely untested, so it may be as good as broken.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8299 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed setting hide_woe_damage making even "miss" attacks seem to connect.
- Cleaned up pc_getzeny to not require doubles.
- When readjusting the fame-list, the last entry's id is also reset (may fix characters appearing more than once on it?)
- Some sign/unsigned comparison warning fixes.
- Some 'may be used unitialized' warning fixes.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8273 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Timer problems on delete_timer
- Intimacy problem (overflow & new values)
- Homunc deleted if intimacy < 0
- base exp is now given to master
- Homunc sometimes not saved
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7913 54d463be-8e91-2dee-dedb-b68131a5f0ec
- When the client passes account version 0, the login server will set it to 1 now.
- Corrected the HP bar scaling when HP is above Short Max. It should display fine for any HP value now.
- Added a check when the mob's adelay is shorter than the amotion, in which case the adelay will be changed to the amotion value.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7742 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Removed a bunch of homun-related variables that are not needed at all. The alive condition is removed, now the code checks for the hp value to know if the homun is alive or not.
- Cleaned up a bit the skill-id function, homun skill checks (such as delay and skill-lv learned) should be correct now.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7727 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Some cleaning on chrif.c
- The char-server will allow off-line character saves when said char is tagged for final-save (this is the scenario when the char-map reconnect).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7722 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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
- 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
- Added function char_loadName to extract the character name of a given ID.
- Fixed fame-list updating crashing char-sql server when the given char-id just got into ranking.
- Sorry I didn't check if it compiles cleanly because I don't have sql here <.< (am gonna test it in a second, though)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7248 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
- party Hp updates are no longer done each time the Hp is modified, but together with the party xy timer.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7083 54d463be-8e91-2dee-dedb-b68131a5f0ec