- Fixed Martyr's Reckoning never triggering for gms with all skills
- Added MO_TRIPLEATTACK and RG_SNATCHER to @skillall's skill filter
- Made gm_skill_unconditional bypass skill blocking (guild timer, etc)
- Reverted the weird delay_dependon_agi thing (r8923, r9055, r9059)
- Changed a few memsets to strncpy (reading past buffer is a bad idea)
- Sped up some memset operations (multiples of 4 are faster)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10613 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Replaced toupper/tolower in ladmin by TOUPPER/TOLOWER defines.
Shortlist:
It's a list of sockets that have data to send and/or are ready for eof processing.
It aims to reduce the amount of time spent on do_sendrecv, where it was spending ~13.5% of execution time on a server with 1k users at WoE.
thanks to Buuyo-tama for the profile info and code
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10506 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Adjusted the packet_db array for a more consistent look
- Reorganized some entries in packet_db.txt
- Fixed a small scripts_custom.conf typo
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10296 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Fixed the uint32 platform problem (Microsoft failed so I removed it :)
* Removed the cbasetypes.h dependency from the mapcache generator
* Removed some random compilation warnings
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10270 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed some over/under-dimensioned arrays (the map length defines already reserve space for the string terminator)
- Fixed an unupdated define making Warp Portal fail with an error
- Fixed some skill entries of the Galion mob
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10168 54d463be-8e91-2dee-dedb-b68131a5f0ec
Rewrote fame ranking lists- changed MAP_NAME_LENGTH to 12, now there's MAP_NAME_LENGTH_EXT at 16 for
uses where there is / may be the .gat extension, code adjusted accordingly
- moved map_normalize_name to mapindex_normalize_name so that everything
handling map names uses the same extension-removing function
- greatly enhanced the map cache generator, complete documentation on the
tool and the map cache format can be found in doc/
- the map cache format changed a bit as a consequence, but of course a new
valid one is included (contains latest Nameless Island maps)
- fixed a duplicate entry in map index
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10167 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Major edit to the way the servers handle ip addresses, making them obey the "host byte order inside, network byte order outside" rule
- hopefully covered all entry- and exit-points for IP address data
- discovered several places where Gravity's client breaks the convention, will need to come up with a suitable countermeasure for that
- other than that, the code should be portable, except for printing and ipban mask testing (those still assume a specific byte order)
- tested both txt and sql in all usual situations; tested single- and multi-server setups, all seems to work (but watch out for hidden bugs!)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10162 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed the badly worded messages during mapserver startup
- Cleaned up socket config reading
- Split resolve_hostbyname() into 2 separate functions for clarity
- Moved the probably obsolete LOWER/UPPER macros to db.c (TODO: remove)
- Moved the badly placed compare_item() function to storage.c (see r779)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10119 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Note that due to the current coding of the sig plugin, do_abort will not be invoked if you use it! This plugin needs to be updated...
- Cleaned up a bit the change element code. val1 is the elemental level, val2 is the element now.
- Hardcoded the element and elemental level of SC_CHANGEUNDEAD.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10089 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed a #error "<malloc.h> has been replaced by <stdlib.h>" problem
- Fixed the msg_silent setting not being announced every time
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10077 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Corrected @unjail having the GM level check backwards.
- chrif_authok will now reject to store the newly received status data when the player it was received from is still online, should prevent losing data in certain situations.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10060 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Updated msg_athena.conf so it no longer uses broken english on several entries. Thanks to Scerez for the updated file.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10044 54d463be-8e91-2dee-dedb-b68131a5f0ec
- removed the check_ip_flag from login&char (there since r1)
- removed the CMP_AUTHFIFO_IP and CMP_AUTHFIFO_LOGIN2 defines (also r1)
- removed dynamic_account_ban, gm_db settings, weren't doing anything at all
- modified the date_format setting to take the format string directly
- removed overly verbose config loading messages
- removed/simplified many more useless actions
- renamed the dynamic_pass_failure_ban_ settings to make more sense
- collected relevant config settings into a login_config structure and documented their purpose
- allowed usage of yes/no instead of the user-unfriendly 1/0 method in config settings (and added 1/0 as a possible option)
- fixed dnsbl which was always taking only the first entry into account
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10021 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Updated skills that shouldn't ignore the target's cards: Smoking, Fling, Zenynage
- Fixed the char sql server not escaping the server name before inserting it on the ragsrvinfo table.
- Corrected @lvup not doing the party even share check.
- Corrected breaker's misc part not ignoring element.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9969 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Externalized battle skill range and blewcount bonus into their own static functions (battle_range_type & battle_blewcount_bonus).
- Sped up the skill range flag setting code.
- Added automatic support of damagesplit. This means that if a skill's nk value includes damage split among targets, it will do a divide by the number of targets (whereas before the list of skills where this worked was hardcoded)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9950 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Merged packet 2b22 (from my server) to handle quick fame updates whenever someone's fame in the ranking changes, but no position swaps take place (prevents having to resend the whole fame list in such events, you lazy Draco <.<)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9936 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Checked and cleaned up the online_check code in the char-server. Further connections to the char-server are rejected when the account already has a connection (previously this would happen only if there was already another character IN game, not just waiting on the char-select screen).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9934 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Guild expulsion now will fail when the character to be kicked is in a guild castle (rather than checking for the character doing the expulsion)
- pk damage reduction settings now will take effect only on Player VS player damage.
- Fixed produce_db2.txt entries overwriting produce_db.txt ones.
- Fixed item-granted/plagiarized skills unlocking skill trees when only your real learned level should.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9899 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Collapsed config settings produce_item_name_input, produce_potion_name_input, making_arrow_name_input, holywater_name_input, cdp_name_input into a single config produce_item_name_input which uses bitmasks to determine what it affects.
- Updated arrow_decrement to have 3 possible values: Disabled, Enabled, and Enabled as well as giving arrow requirements to skills that do not have them when used with ranged weapons (auto-guess for plagiarized/item-granted skills)
- Minor cleanings
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9746 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added npc_check_areanpc so that Wand of Hermod will correctly check for nearby warps.
- Emergency avoid now stacks with other speed boost statuses
- Item skills and skills that bring up a menu now are cleared on death.
- Minor cleanings
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9742 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added parse_console to the plugin API.
- Added plugin for parsing the console. (working with cygwin)
- Added the console plugin to plugin_athena.conf commented out.
- Copied the parse_console code form login txt to login sql and char.
- Added propper plugin version compatibility tests.
- Better output when a plugin fails to load.
-----
The console plugin (at it's 3rd version) uses two pipes and another thread.
- the other thread reads data from stdin and sends it through one of the pipes
- the other pipe serves as semaphore (and terminator) to that thread
- the normal thread checks if the pipe has data once every timer cycle, if data is found it invokes parse_console with that data
Worth noting: the first version didn't use another thread and just checked if data was available on the input stream, but apparently that can't be done to standard input in windows
It's only been tested on cygwin (and should work on most *nix systems), can't test native windows right now because I'm having trouble exporting the required plugin variables in VS8
src/plugins/Makefile hasn't been updated because it's not working properly for me
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9631 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed the packet structure in mmo_char_send006b for PACKETVER 8.
- Removed search_str from add_str (add_str already searches for the string).
- Native script words like do,while,for,... are case insensitive now.
- Changed SCRIPT_HASH_SIZE to 1021 (prime hash sizes give better distributions).
- Added alternative hash implementations to the script engine (to try out later).
removed int_homun.c from header section of the VS8 map project files
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9588 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Cleaned the pvpoff @ and script commands.
- mob_get_random_id now has two additional flags to specify that the monster to acquire should not be a boss type (4) or that it should give exp (8).
- TK_MISSION will now pick any mob from the DB as long as it is not a boss type and it gives base exp.
- Fixed the double-stone issue when hitting a petrified character.
- Minor cleanups
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9573 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed itemdb.c sql compilation
- Now when you specify a max level beyond what the exp table has, the last entry of the exp table will be duplicated to fill in the remaining levels.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9558 54d463be-8e91-2dee-dedb-b68131a5f0ec