summaryrefslogtreecommitdiff
path: root/src/char/char.c
AgeCommit message (Collapse)AuthorFilesLines
2012-10-29-Add some src basic documentation.glighta1-5/+5
-Change some remaining -1 for status ending timer. -Move some hardcoded msg in msg_athena -Small optimisation on battle_attr_fix git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16835 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-09-16Introducing rAthena's anonymous data collector. This aims at improving ↵shennetsind1-1/+30
rAthena's overall features by letting we know which options are most and least used. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16785 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-08-22Major cleanup all over the place, made possible by mkbu95's scan-build ↵shennetsind1-7/+4
report he provided us with. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16687 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-08-18Fixed bugreport:6496 character selection screen rename function fixed for ↵shennetsind1-1/+1
clients 20111025 and newer (right click the character with the add-ons sidebar and select the first option to rename) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16666 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-07-28Added support for the "favorite item tab" feature. super-mega-thanks to ↵shennetsind1-10/+145
Judas, credits to Fatal Error. Be aware this update requires a new column in the inventory db, run upgrade_svn16517.sql in your database. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16518 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-07-26Added the merges proposed in evilpuncker's list of suggestions: ↵shennetsind1-1/+1
http://rathena.org/board/topic/63001-my-rathena-suggestions/page__st__20#entry124218 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16500 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-06-24Fixed bugreport:5951 changesex bug regarding it not changing bard/dancer ↵shennetsind1-0/+3
classes after the change has been fixed. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16336 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-06-24Fixed bugreport:5947 Genetic/Mechanics should be displayed properly in their ↵shennetsind1-2/+2
/alchemist /blacksmith ranks, special thanks to Xantara and Aleos. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16335 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-06-15Fixed bugreport:6035, chars will now start with all stats 1 and 48 status ↵shennetsind1-9/+21
points as for clients 2012 march and beyond. Did some cleanup at clif.c packet parsing and applied some curly brace love. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16308 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-06-08` Fixed bugreport:5717 if character's last map is invalid, move to a major cityxantara1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16241 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-05-30Fixed bugreport:5873 sex changed shouldn't now make exploits regarding item ↵rud0lp201-5/+0
bonuses. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16167 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-05-03Regularized file not found error messages.xazax-hun1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16073 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-04-22* Merged changes up to eAthena 15088.eathenabot1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15928 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-04-20Initial support for Genetic, Sorcerer and Elemental Summons. Special Thanks ↵shennetsind1-26/+28
to 3CeAM for the base. Notice this revision onwards requires you to update your char sql table and add the elemental sql table (check sql-files/upgrade_svn15885_log.sql) If you step by any bugs, let us know at http://rathena.org/board/tracker/ Thank you very much. ARRIBA ARRIBA. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15885 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-04-20=Generaltechnote241-1/+4
*Did some cleaning up and enabled all job lines in job_db 1 and 2. *Added some more jobs to the pre-re and re exp tables. *Enabled all typeable job changing names for the job change command. -Also did some more cleaning and organizing for the list that shows -when typing the command by itself. This will be the final time I -touch this until a new job is released. *Increased MAX_SKILL_TREE to 84 as the Expanded Super Novice/Baby jobs needs it. =Jobs *Added 7 new jobs. -Added jobs are Gangsi, Death Knight, Dark Collector, -Expanded Super Novice, Expanded Super Baby, Kagerou, and Oboro. -Note: Keep in mind that Gangsi, Death Knight, and Dark Collector -are official jobs that were never completed and arnt fully playable -like other jobs. Im just adding them in since their official and to -let the curious people out there mess with them. *Did some major skill tree updates. -Corrected the required level of SM_RECOVERY needed for LK_CONCENTRATION. -Fixed a few other trans skill requirements in the 3rd job skill trees. -Added complete skill trees for Sorcerer, Genetic, Baby 3rd's, -Expanded Super Novice/Baby, Kagerou, and Oboro. -Note: Even tho Sorcerer, Genetic, and Kagerou/Oboro skills arnt in -the server, the skills introduced in these jobs will still be read -by the server, but will not appear on players skill window until entrys -are added to the skill_db and skill_requirement_db. -No error's will be generated when read. So its perfectly safe to leave -them entirely enabled so skills will slowly appear 1 by 1 as their coded in. -Also added a pre-tree for Gangsi, Death Knight, and Dark Collector -jobs for now and added some extra tree lines. These will be worked with in the future. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15876 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-04-19=Generaltechnote241-2/+5
*Added some extra data here and there that will be used in the future. -Mostly stuff for adding more jobs. *Corrected how the server listed a few job names. Like Mage should be Magician. -As the job name is seen hard coded in the client. *Added support for all 3rd jobs in the pre-re exp table. -Base levels use a copy of the Trans exp table. Job levels use a copy of the -Trans 2nd job exp table. *Added baby 3rd's to the renewal exp table. *Did some cleaning and updating in the atcommand.c file for the jobchange command. -Added a few job changes by job name typing. -Spaced things out in the message strings to allow job names of up to 16 characters. -If a name is bigger then 16 characters, it will need to be reduced to fit the space. -No more then 4 jobs listed max per line -Also removed unneeded text lines as the ID's they point to are dummy ID's. -Finally, updated the list of dummy ID's to prevent changing to, as well as added a -message to display if someone attempts to job change to one of those dummy ID's. *Readded the spaces in the pc.c file as tabs in the middle causes unorganized viewing issues. -The space gap is now big enough to allow everything to line up. =Jobs *Added 3rd job babys. -Everything is working properly for them except the max stats and skill trees. -I will add this stuff in the next update. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15873 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-04-03Cleanup of conditions for old clients.protimus1-7/+0
- No one use versions as old, besides being advised to keep up to date. - Informations of packets will be maintained, the cleanup is just for conditions. Please do not remove old packet information, it is useful for future searches. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15828 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-21- Fixed characters being automatically deleted when confirmation was ↵epoque111-23/+2
required (bugreport:5479) - Follow up r15738, removed existing deletion bug fix code to include the new fix git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15740 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-20- Fixed character deletion not updating the client when char_del_delay was ↵epoque111-0/+16
set to 0 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15738 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-20- Fixed Clown/Gypsy/Minstrel/Wanderer not receiving skill points upon change-sexepoque111-12/+4
- Fixed missing casts from void* to struct online_char_data* in char.c git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15735 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-13Fixed char-server notifying map-servers only about first 30 maps (on other ↵gepard19841-2/+2
map-servers) (bugreport:5410). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15686 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-13Enhanced `DBMap` implementation to allow storing integer type data in ↵gepard19841-20/+38
addition to void pointers. - Added enum for data: `int`, `unsigned int` and `void*` - Replaced generic `void*` data with `DBData` struct to hold `int`, `unsigned int` or `void*` (member of `DBNode`) - Added `db_i2data`, `db_ui2data` and `db_ptr2data` functions to cast from `int`/`uint`/`void*` to `DBData` (used in `DBMap::put()`) - Added `db_data2i`, `db_data2ui` and `db_data2ptr` functions to get `int`/`uint`/`void*` from `DBData` - Enabled statistics for new functions in `db_stats` struct - `DBCreateData` functions (used in `DBMap::ensure()`) now return `DBData` instead of `void*` - `DBApply` functions (used in `DBMap::foreach()` and `DBMap::destroy()`) now take `DBData*` as a parameter instead of `void*` - `DBMatcher` functions (used in `DBMap::getall()`) now take `DBData` as a parameter instead of `void*` - `DBReleaser` functions now take `DBData` as parameter instead of `void*` - Default releasers release data if it is `void*` (`DB_DATA_PTR`) type - `DBIterator` functions: `first()`, `last()`, `next()` and `prev()` now return `DBData*` instead of `void*` - `DBIterator::remove()` now returns `int` (1 if node was found and removed, 0 otherwise) instead of `void*` and takes an extra `DBData*` parameter for the data of removed entry - `DBMap::get()` and `DBMap::ensure()` now return `DBData*` instead of `void*` - `DBMap::remove()` and `DBMap::put()` now return `int` (1 if node already existed, 0 otherwise) instead of `void*` and take an extra `DBData*` parameter for the data of removed entry - `DBMap::put()` now takes `DBData` as parameter instead of `void*` - `DBMap::getall()` now puts data into `DBData**` buffer instead of `void**` buffer - Updated macros: - (`i`/`ui`/`str`)`db_get` and (`i`/`ui`/`str`)`db_ensure` were wrapped with `db_data2ptr` to extract data from `DBData*` that is now returned by `DBMap::get()` - added (`i`/`ui`/`str`)`db_iget` and (`i`/`ui`/`str`)`db_uiget` that get `DBData` from `DBMap` and extract `int`/`unsigned int` from it (with `db_data2i`/`db_data2ui`) - `db_put`, `idb_put`, `uidb_put` and `strdb_put` data params were wrapped with `db_ptr2data` to match new signature of `DBMap::put()` (`DBData` instead of `void*`) - added (`i`/`ui`/`str`)`db_iput` and (`i`/`ui`/`str`)`db_uiput` that put `int`/`unsigned int` into `DBMap` (first wrapping it with `DBData`) - added `NULL` in place of extra parameter for removed data in `db_remove` macros - `dbi_first`, `dbi_last`, `dbi_next` and `dbi_prev` were wrapped with `db_data2ptr` to extract data from `DBData*` that is now returned by these `DBIterator` functions - Updated `DBMap` documentation, and fixed a dozen of typos in it. - Updated rest of rA code to reflect `DBMap` changes (mostly required signature changes of `DBCreateData` and `DBApply` functions). - Fixed a bug where `DBMap::put()` would return data of a deleted entry. - Removed some unnecessary pointer casts. - Increased `showmsg.c` static buffer size to fit entire DBMap stats report. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15682 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-11* Added packets for clients 2012-03-07+Protimus1-1/+24
Not is recommended use this version yet, there are small packets structures to do changes. * Added support for packet 0x970. New schema of character creation. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15675 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-18Fixed char server's 0x2b05 not skipping it's full length.shennetsind1-3/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15607 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-16- Removed outdated version number handling (follow-up to r11503).gepard19841-1/+0
- Fixed mapcache compilation issues in Linux. - Added some missing `svn:ignore` properties. - Moved `BLOCK_SIZE` definition from header to source file. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15586 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-14Removed deprecated memory manager macros (follow-up to r14916).gepard19841-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15581 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-13 - Added `libconfig` (configuration file library: ↵gepard19841-12/+10
http://www.hyperrealm.com/libconfig/): - Updated VS9/10 project files. - Updated `configure` & `Makefile`s. - New GM, Commands & Permissions system: - '''This is a backwards compatibility breaking update''', please read tid:58877 - Replaced GM levels with Player Groups. - Commands permissions & other privileges now depend on group, not GM level. - `@help` command improvements: requires "commandname" param and shows more detailed info about commands. - Modified GM whisper system to deliver messages basing on permissions, not GM level. - Remote trade request is now possible only if player is allowed to use `@trade` command as well. - Added a proper permission to use `/changemaptype` command. - `clif_displaymessage` is now capable of displaying multiline messages. - All `ACMD_FUNC`s are static now, and the only way to invoke them is with `is_atcommand()`; all client commands (starting with `/`) are now translated into corresponding atcommands (with exception of `/kick` used on monster, as there is no atcommand to kill single monster). - Removed nonsense "bot check" triggering when player blocked (`/ex`) Server. - Merged `@monster`, `@monsterbig` and `@monstersmall`. - Improved flow of atcommand execution to avoid revealing info about online players or existing commands to non-privileged players. - Merged `atcommand` and `charcommand` script functions (`charcommand` is aliased to `atcommand`). - Fixed `atcommand` script function reading unknown memory area (possible access violation). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15572 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-30- Removed more trailing tabs.brianluau1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15527 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-30- Removed trailing tabs, and fixed some spacing.brianluau1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15524 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-23` Added renaming support for the remaining 'ragnarok' tables in the ↵xantara1-4/+17
inter_athena.conf file - bugreport:3317 -- Includes: homunculus, skill_homunculus, mercenary, mercenary_owner, ragsrvinfo ` Fixed a typo regarding the homunculus_db git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15508 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-22Minor cleanups, mostly reducing scopes.xazax-hun1-2/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15504 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-20Merged TXT removal branch back to trunk.gepard19841-1819/+1658
* TXT save engine is removed and no longer supported. * See also tid:53926, tid:57717. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15503 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-12-18* Merged changes up to eAthena 15034.eathenabot1-1/+5
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15154 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-10-16* Added field for the change slot feature to character select list packet ↵ai4rei1-1/+5
for 2011-09-28aRagexeRE and newer. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14977 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-09-08* Fix C++ compilation issues.flaviojs1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14955 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-08-10- added sending a dummy 0x08b9 packet in the char-server, required to ↵Skotlex1-0/+10
support clients from this year. - added a fix to status_heal to take into account that -int_max == int_max in some architectures, which leads to an infinite loop (bugreport:3410) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14930 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-07-10* Changed limit definitions used in WBUF* and WFIFO* to the intended fixed ↵flaviojs1-14/+14
size alternatives. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14899 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-06-30Replaced custom type 'intptr' with standard 'intptr_t'.ultramage1-12/+12
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14873 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-06-22Added enum e_skill_flag to represent the values of struct s_skill's ↵ultramage1-4/+4
complicated 'flag' field. Reordered the enum values so SKILL_FLAG_REPLACED_LV_0 goes last and arithmetic can be done on it safely (for storing skill level values). This also adds support for skill levels higher than 10. Fixed several places where SKILL_FLAG_TEMPORARY was not handled properly, and instead was considered as one of the saved skill level values (resulting in skill level -1). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14861 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-06-16* Merges from charmerge:flaviojs1-101/+270
- Added DBMap::exists. (r14090) - Added sv_parse_next, a stepped version of sv_parse (delim-separated parser). (r14100 r14104) - Added missing fd check to do_close. (r14145) - Normalized, refactored and restructured some code (in preparation for shutdown/reconnect code). (r14145 r14150) - Changed the char select request code to allow the char-server to reject it. (player in map-server trying to go to char select) (r14150) - Added shutdown support to the servers. (incomplete) (r14152) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14851 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-04-17* Fixed char-server missing some WFIFOHEAD (partially due to r10909 being ↵ai4rei1-0/+4
reverted by r11245, follow up to r9307 and r14618). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14798 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-04-16* Added support for visible garments/robes.ai4rei1-5/+26
- For SQL apply upgrade_svn14797.sql to upgrade table `char`; for TXT no action is necessary, as it upgrades itself. - This also fixes NPCs not being visible with clients 2011-01-11aRagexeRE+ (bugreport:4865). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14797 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-04-10* Added support for clients 2010-11-23aRagexeRE+ and 2011-01-11aRagexeRE+.ai4rei1-1/+5
- Servers that used packet db version 'default' until now need to be updated to use version '25'. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14791 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-02-19* Fixed gcc compile warnings in char-server and console plug-in ↵ai4rei1-1/+1
(bugreport:4771, topic:208746, since r9631 and r14700). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14716 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-02-08* Added support for new delayed character deletion.ai4rei1-15/+306
- Asks for birth date associated with the account and has a waiting time of 24 hours by default (setting). - For SQL apply upgrade_svn14700.sql to upgrade table `char`; for TXT no action is necessary, as it upgrades itself. - This completes support for clients 2010-08-03aRagexeRE and later. * Updated login sql engine version, missed during `birthdate` addition (follow up to r14672). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14700 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-01-14* Replaced remaining occurences of '-1' with 'INVALID_TIMER', where ↵ai4rei1-14/+14
appropriate (follow up to r12998). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14670 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-01-13* Removed ladmin (remote administration tool), all related support code and ↵ai4rei1-130/+0
the checkversion.pl tool with it's support code, which was shared with ladmin (topic:262934, related bugreport:1147, bugreport:1889, r9408 and r9610). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14667 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-01-13* Reformatting and minor cleanups to console-plugin related code.ai4rei1-19/+9
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14664 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-29* Fixed char-server making assumptions about RFIFO data length in character ↵ai4rei1-1/+1
deletion packet (since r10909). * Fixed login-server discarding RFIFO data, when the length is 1 byte; minimum packet size is 2 bytes (since r5027). - Fixed login-server not skipping packet 0x2728's data on failure (since r12043). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14637 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-25* Fixed a compile error in txt-converter-char caused by 'save_log' being ↵ai4rei1-3/+1
declared by both SQL and TXT (bugreport:4671, since r14619). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14622 54d463be-8e91-2dee-dedb-b68131a5f0ec