summaryrefslogtreecommitdiff
path: root/src/char_sql/char.c
AgeCommit message (Collapse)AuthorFilesLines
2007-03-23- Made waiting_disconnect on the char server be an int to hold the timer ID ↵skotlex1-13/+22
of the timeout timer. It is now deleted when a player is successfully set offline/online. - 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10060 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-21- Added define MAX_CHARS so you can easily mod the server to support a ↵skotlex1-9/+9
different amount of characters per account (however, there is still the issue of hexing the client to support this change) - 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10044 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-16committing my work on the login server (mostly SQL)ultramage1-12/+3
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10021 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-13Mapcache update, should polish off remaining bugsDracoRPG1-1/+3
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10003 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-06- Corrected the define for NK no cardfix (def).skotlex1-4/+5
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9969 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-04- Removed delete_session from socket.h since it shouldn't be used by them.skotlex1-2/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9955 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-04More tweaks to socket.c to simplify the codeultramage1-1/+1
- many generic cleanups - reformatting, useless code removal, etc - made the mode_neg setting a compile-time decision, not a run-time one - removed the silly frame_size setting (there since r1) - added some TODOs to http://www.eathena.ws/board/index.php?showtopic=127988 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9954 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-02- Modified set_reg so that it returns whether it succeeded or not in setting ↵skotlex1-1/+1
the requested variable. - 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9950 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-28- Made it possible to modify the server packet version from the Makefile.skotlex1-1/+11
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9936 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-28- Added a check to prevent trades from being commited if either character is ↵skotlex1-92/+79
in final-save state. - 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9934 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-28- Simplified a bit mmo_char_tobuf (at least it looks cleaner to me now)skotlex1-18/+9
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9932 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-23- Updated Box of thunder to use "agi up" effect for 30 secs instead of NPC ↵skotlex1-1/+0
Agi Up for 20. - 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9899 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-17- Reviewed the client and the shorts at 104 and 106 are part of the char ↵FlavioJS1-48/+34
structure. And a correction on what i said: 0x6d is the packet that sends the new char data, 0x67 is the request to create the new char. (updated code accordingly) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9874 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-17- Fixed the structure of packet 0x67 (new char info). It's the same as the ↵FlavioJS1-73/+56
one used for packet 0x6b (chars info). Info based on the 1218 client and on experiments with 'orchish' skin. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9873 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-08- Added code for SQL that will automatically detect the ping interval at ↵ultramage1-3/+0
startup, and copy-pasted it around the code - Removed the conf setting as it is not needed anymore git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9830 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-07- Removed function inter_party_logged, which after some testing and ↵skotlex1-2/+0
thinking, has been concluded is no longer necessary. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9818 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-07- Removed deprecated console code.FlavioJS1-4/+3
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9815 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-05Removed the silly and misleading 'firewall detected' messageultramage1-2/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9786 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-30- Corrected char deletion not working (column is called homun_id, not hom_id...)skotlex1-1/+2
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9746 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-29- Corrected the homunculus deletion functions so that the homunculus is ↵skotlex1-2/+7
deleted together with the character. - 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9742 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-19Fixed a client crash during SQL char selection if you for some reason had ↵ultramage1-1/+1
more than 9 characters in your account git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9674 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-16- Fixed the next invoked skill after AbraCadabra not having requirements ↵skotlex1-1/+3
even when it is a different skill than the one chosen by AbraCadabra. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9661 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-08- Added a precompiler error when the shutdown defines are not found.FlavioJS1-20/+26
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9631 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-06- Now winsock 2 is required.FlavioJS1-1/+1
- Cleaned up do_close and socket_init a bit. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9621 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-30- Reverted the packet structure changes to mmo_char_send006b in r9588 and ↵FlavioJS1-2/+5
corrected the bug that I was originally fixing. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9598 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-28- Part 3 of TheUltraMage's socket cleanup.FlavioJS1-7/+2
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9588 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-26- Cleaned up some more the code so it works for -DTURBOskotlex1-2/+0
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9573 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-24Small fir for changeset 9539KarLaeda1-2/+3
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9568 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-23- Moved "#include <limits.h>" to cbasetypes.h to ensure it's included before ↵FlavioJS1-2/+3
checking if UINT_MAX has been defined. - Minor changes in pc_readdb related to max_level being unsigned. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9561 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-22- Added support for the new "make new char" packet that has the rename ↵skotlex1-8/+12
button data. Thanks to Sara-chan for the format change update. - 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9558 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-21- Some cleaning to the character deletion code.skotlex1-27/+11
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9552 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-20Fixed #endif instead of #elseKarLaeda1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9542 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-20- Fixed the #if -> #ifdef mess up -.-skotlex1-3/+3
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9540 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-20- Moved PACKETVER to mmo.h, and added support for the expanded character ↵skotlex1-2/+20
info window on the char-server when PACKETVER is above 7. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9539 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-05- Massive EOL normalization & 'svn:eol-style native' flag setting for all ↵FlavioJS1-4435/+4435
txt/conf/h/c files. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9410 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-04- Fixed the txt->sql converter not escaping character names before saving them.skotlex1-2/+5
- Fixed a pet's level not resetting to their db level when you enable pet leveling and later on decide to turn it off. - Fixed a bad initialization in pc_setnewpc - Fixed restricted equipment not updating your view info after they are unequipped. - Removed a bunch of extra text/checks when ignoring characters (/ex) when Aegis does none of these checks. /inall now wipes your ignore list (it does this on Aegis, too). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9400 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-01- Fixed txt-converter compilation. skotlex1-2/+2
- Added my_global.h include to login converter - Removed sd->char_id since we can use sd->status.char_id instead. - Small speedup in STRECOVERY, and made it not unlock a mob's target. - Fixed GS_GROUNDDRIFT consuming ammo when it's time expires (so it was consuming 2 grenades instead of one). Also added a "explosion effect" when their time runs out. - gvg_dungeon mapflag won't set pvp related mapflags anymore, pc_dead will force pvp ranking gain/loss on gvg_dungeon maps now. - Now when coming out of hiding land-effects will trigger on the character. - Made the pc_setpos message when being placed on an unwalkable tile tell you which player triggered it. - Fixed land effects not taking effect inmediately on map-load when the invincible timer is disabled. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9374 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-24- Added all the missing FIFOHEADs in the login/sql servers (required for ↵skotlex1-143/+163
TURBO support) - Fixed the fact that the TURBO code breaks when you attempt to handle more than one connection at a time within the same function. However this broke map-server compilation, therefore, don't use TURBO yet! It needs more fixing (and I need more time to fix it) - While at it, cleaned a few packet implementations in the char/login servers which were not only ugly, but had some really stupid flaws within (stuff like escaping a string, and then using the non-escaped variable to insert to SQL? T_T) And will someone explain me why the TXT servers are coded much more cleanly, and without such horribly broken code as I find in the SQL ones? T_T; git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9307 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-07- Applied FlavioJs's patch which enables colored console output for Windows ↵skotlex1-0/+2
systems. It also includes a config setting called "stdout_with_ansisequence" with which you can turn off the color codes (in case you are logging all output) - Added error reporting when the max number of ground unit cells has been reached (this may be the reason why sometimes it fails to recognize when you step out of a song/dance/encore) - Added passing the Endure effect to other devoted people. Note that the "hit count" is individual for each character, and only when it ends on the Crusader himself will that force it to end on everyone else. It also will not transfer on gvg grounds, but it does transfer in pvp. - Fixed Reflect-Shield triggering Auto-Guard instead on devoted chars. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9168 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-25final clone maps -> original maps change. also fixed novice grounds map in ↵Lupus1-1/+1
char.c. fixed socked_enchant npc git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9064 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-23- char_family now returns the char_id of the children when previously it ↵skotlex1-3/+3
would return true. - Expanded the family check to work as it should, exp-share-range is respected, and the child is not considered for it (thanks to TheUltraMage for the investigation) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9049 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-21- Some minor cleanupsskotlex1-2/+1
- Fixed the Homunc not spawning next to you after receiving it's data from the char-server. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9035 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-13- Base attack for non players is now calculated as str + [str/10]^2 (it does ↵skotlex1-13/+14
not has +dex/5+luk/5 which players do have) - Fixed the char-sql server trying to read the gms off a "gm_db" config setting stead of "login_db" git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8981 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-11- Cleaned up unitattack, unittalk and unitdeadsitskotlex1-28/+25
- Updated status_get_name to take into account fakename, also cleaned it up. - Cleaned up the char-server code when the last point of a player is not found. First it'll check if there's any mapserver online, and then, if there is, it'll look for the major cities. If this fails, then the player will be told server is closed instead of trying to send him to a "random map". git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8967 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-10- Fixed crash when char-server sends to a "random" map-server online on connect.skotlex1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8960 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-30- Rewrote the txt->sql converter. It now links directly to the char server ↵skotlex1-91/+49
files so that it should get auto-updated with any code changes in the later. - The converter will now also convert: account-wide variables, parties, guilds, guild storage and guild castles. At this point the only two things not converted are login-server-wide account variables (##, they belong to the login converter) and homunculus (the SQL save function is messy and doesn't lends itself to be integrated with the converter the way all the other functions are). - Modified the char servers so they are compatible with the converter, the define TXT_SQL_CONVERT identifies sections unique to each char-server mode (this would had been a hella lot easier if both char servers where the same code-base instead of duplicated code <.<) - Updated the Makefiles as per the new compiling requirements for the converter. - misceffect2 will no longer cause the effect on top of the source object when it is the fake npc. - Added check so that Frost Nova doesn't hides hitting animation on targets. - Added the missing brackets around the trade logs condition check, thanks to Coltaro. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8908 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-22- Fixed the "map server claims to have char online, but this other map ↵skotlex1-2/+6
server also has it tagged as online" message triggering in some cases where it shouldn't. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8846 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-21- Removed the unrecognized class error messages from pc_mapid2jobid and ↵skotlex1-1/+1
pc_jobid2mapid since these can now trigger normally through the use of the script functions roclass and eaclass. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8833 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-12- Improved sql-query to check if name already exists when creating new chars.skotlex1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8727 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-12- Added manual deletion of sc_data entries when deleting a character (char-SQL)skotlex1-0/+10
- Updated main.sql to use pure MyISAM tables, removed all foreign keys. - Added Jaguar's sql script to convert all tables to MyISAM. It's located in sql-files/convert_engine.sql - Removed convert_guild_tables.sql as we don't use InnoDB anymore. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8722 54d463be-8e91-2dee-dedb-b68131a5f0ec