- 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
- 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
- list and size not being initialized (size get intialized in default: switch case) Eliminated default case and initialized list and size at the beginning.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7021 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added SC_INCDEXRATE/SC_INCAGIRATE. NPC_POWERUP/NPC_AGIUP now correctly increase dex/agi by 40% per level.
- Fixed char-sql server not deleting character variables
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6984 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 npc_event_sub from npc.h and moved it to npc.c
- Cleaned up #warp to prevent spitting non-walkable tile warnings.
- Changed the meaning of msg_athena 2, it is now "invalid target cell, randomizing".
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6114 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Changed line terminators back to *nix on map.c because otherwise it's impossible to run a diff between the stable and trunk versions of the file.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6043 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
- Added battle_config autospell_stacking to enable stacking of cards of same ID.
- Moved card-specific battle options to items.conf
- Autospells triggered when hit will check the range to the target.
- Some cleaning up of status_calc_pc
- In status_change_start capped the passed success chance to 100%
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5377 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Removed the 'Quick loaded char' messages from the char-sql server
- Some cleaning of the guild sql saving routine.
- Various checks around the char-SQL server and a few memory leak fixes.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5309 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Tables affected are: account creation, char creation, party creation, pet creation and guild creation.
- Also corrected some functions to be of type (void) rather than ()
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5298 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