summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2012-03-13Enhanced `DBMap` implementation to allow storing integer type data in ↵gepard198417-302/+661
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+Protimus2-1/+25
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-03-09Code cleanup: replaced `DBIterator` function calls with macros where possible. gepard19849-58/+46
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15668 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-08- Fixed skillratio bonus only ever being multiplied by a factor of 1 ↵epoque111-2/+2
(follow-up to r15666) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15667 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-08- Correctly fixed Aimed Bolt and Arrow Storm skill ratios (related to ↵xantara1-4/+6
bugreport:5272 and r15663) - thanks to Lighta git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15666 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-07- Fixed a little leftover in socket_enchant2.txt .masao872-2/+2
- Added warp to iz_dun05 bugreport:5395 . - Fixed a little typo in clif.c . - Moved "int clif_status_load_single" from clif.c to clif.h . git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15665 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-07Fixed a few Ranger-related skills (bugreport:5272)xantara3-7/+27
- Added check to not allow attacks when mounted on a Warg - Added check to only allow a certain amount of skills when mounted on a Warg - Updated Warg Bite's chance rate of immobilization and duration - Updated Arrowstorm and Aimed Bolt's skill ratio damage git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15663 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-06* fixed a missing break; in status_change_start resulting in broken combo ↵lordttseven1-0/+1
targets (bugreport:5389 and bugreport:5396, since r15009) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15661 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-05- Guild Castle code cleanup:gepard19849-146/+119
- all changes to guild castle data are now handled first by map-server and only sent to char-server for saving - ensured that changes made to guild castle during char-server disconnection time will be resent on reconnect - actually removed definition of `MAX_GUILDCASTLE` (r15657) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15658 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-04- Guild Castle code cleanup:gepard198411-395/+266
- removed `MAX_GUILDCASTLE` limit - char-server now caches guild castles in `DBMap` - improved guild castle SQL queries to support non-default values of `MAX_GUARDIANS` - disallowed declaring guild castles on maps that are on other map-servers - map-server now requests data for all guild castles from char-server on initial connect (bugreport:287) - removed ''guildcastleinfo events'' as they were esentially duplicated ''OnAgitInit'' - optimized castle data load packets (bugreport:287) - updated WoE scripts to reflect source changes (scripts no longer need or should request castle or guild data) - updated related docs - Added `db_size` macro. - Replaced manual counting of castles occupied by a guild with `guild_checkcastles()` calls. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15657 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-04Assorted skill-related tidbitslordttseven1-8/+8
* reduced network load for PC_PERM_ALL_SKILL * fixed @allskill setting skill ids too late * fixed skill reset giving free level 9 NV_BASIC git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15655 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-03* fixed job change level not being recorded for 2nd -> 3rd class ↵lordttseven3-21/+60
(bugreport:5383). the fix should be self-regenerating on existing 3rd job characters git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15653 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-03* fixed getiteminfo offset being off by one in REMODE (bugreport:5378)lordttseven2-4/+8
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15652 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-02Updated CMakeLists (follow-up to r15572, r15586) (patch provided by Saithis, ↵gepard19845-7/+10
pid:82588). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15651 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-02Replaced some magic numbers related to castle guardians with `MAX_GUARDIANS`.gepard19843-57/+25
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15650 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-02- reverted r15523 (broken workaround for an underlying issue, see ↵lordttseven1-23/+1
bugreport:5237 again) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15649 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-02Minor NPC code cleanup: timer labels.gepard19841-72/+25
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15648 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-02- Fixed dangling pointer caused by r15644 (partially reverted).gepard19841-4/+16
- Fixed possible memory leaks with guild castle script events. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15647 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-01Follow up r15638: the 'sd' party is unnecessary -- when there is no player ↵shennetsind1-2/+2
(e.g. killed by command/npc) the modifier is always 100%. also, the primary 'sd' in mob_dead is 'mvp_sd' and not 'sd'. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15645 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-01Enabled `DB_OPT_RELEASE_DATA` for several `DBMap`s to simplify data freeing.gepard19844-59/+20
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15644 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-01Fixed skillname->ID DBMap storing skill integer value in void pointer.gepard19841-4/+6
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15643 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-01Enabled `DB_OPT_RELEASE_DATA` for atcommands `DBMap`s so they are able to ↵gepard19841-16/+4
free data automatically (as pointed out by Wildcard). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15642 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-29Some NPC code cleanup (event labels).gepard19841-57/+20
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15640 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-29Removed drop and exp penalties of bosses monsters in renewal. (bugreport:5377)protimus1-1/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15638 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-27Fixed PA_SACRIFICE crash, bugreport:5371, present since r15277shennetsind1-10/+9
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15635 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-27Fixed Heal amount on skill levels 1~9 (since r15009, bugreport:5372).gepard19841-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15633 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-27Fixed atcommands not being logged (follow-up to r15572)(bugreport:5370).gepard19841-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15632 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-27* Merged changes up to eAthena 15075.eathenabot1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15631 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-24Fixed `va_list` being reused in DBMap code (`linkdb_foreach()`) ↵gepard19841-4/+3
(bugreport:5367). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15628 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-22Fixed Royal Guard's Banding skill & icon activation (bugreport:5210)xantara3-2/+20
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15627 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-22Applied renewal skill changes: (bugreport:5302)xantara3-8/+56
- Arrow Shower's attack power (50+10*SkillLvl) - Wind Blade's MATK per hit (from 100% to 150%) - Storm Gust's chance of freezing (65-5*SkillLvl) - Land Mine, Blast Mine, Claymore Trap's damage formula - Spear Quicken's ASPD (fixed 7), CRIT (3*SkillLvl) and FLEE (2*SkillLvl) - Holy Cross's double damage with 2-handed spear - Axe Mastery's damage increase also applies to Sword class weapons - Spiral Pierce's weapon requirement (now allows swords) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15626 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-20* fixed third class skill point allocation logic (follow-up to r15594, ↵lordttseven1-16/+29
bugreport:5329) * replaced some hard-coded constant values in the vicinity with DB lookups - removed semi-sensible special scenarios for borked GM character's skill trees in pc_calc_skilltree_normalize_job git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15625 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-19minor improvement on status_calc_<stat> for SL_HIGH soul link, being it does ↵shennetsind1-13/+12
not stack with other status changes. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15622 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-19Updated Enchant Blade, bugreport:5346shennetsind1-7/+4
- May only cast on self. - Updated formula: [( ( Skill Lv x 20 ) + 100 ) x ( casterBaseLevel / 150 )] + casterInt git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15620 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-19Initial support for Wanderer and Minstrel, and a few adjustments here and ↵shennetsind5-139/+689
there for other classes. - credits to 3ceam for the base. - should you step by any bugs let us know, http://rathena.org/board/tracker git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15616 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-19Fixed `/lb` and `/nlb` commands displaying additional nickname (bugreport:5351).gepard19842-6/+6
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15615 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-19- reverted part of r15609 since apparently the issue is purely limited to ↵lordttseven3-4/+2
ZC_SKILLINFO_LIST, and this change breaks big storages git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15613 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-19Fixed /b and /nb bugreport:5351shennetsind1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15612 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-18Follow up r15609, fixed gcc warningsshennetsind2-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15610 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-18* adjusted socket_max_client_packet to a more accurate (if guessed) value to ↵lordttseven3-1/+17
prevent undefined client behavior (may only affect more recent clients?) + added a workaround for too large ZC_SKILLINFO_LIST packets resulting from all_skill group permission by sending excess skills one by one (bugreport:5348 and bugreport:5349) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15609 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-18Added 2 new item bonuses as per kenpachi's request:shennetsind5-3/+20
- bonus2 bHPGainRaceAttack - bonus2 bSPGainRaceAttack git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15608 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-18Initial Support for Shura and a few adjustments here and there.shennetsind6-93/+441
- credits to 3ceam for the base. - should you step by any bugs let us know, http://rathena.org/board/tracker git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15606 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-17- removed a #undef left over from converting the macro to an inline function ↵lordttseven1-1/+0
(r14976) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15603 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-17Fixed @allskills crashing with SM_SELFPROVOKE (doesn't have icon) -- Added ↵shennetsind1-0/+1
it to list of skills not added to @allskills git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15600 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-17Re-enabled SC_INCASPDRATE as per kenpachi's request.shennetsind2-2/+5
- val1 is the % aspd boost. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15599 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-17Fixed bug with official npc idle timer thing, bugreport:5343shennetsind1-2/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15598 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-17- Fixed group permissions not recognizing `false` setting (bug:5342).gepard19842-1/+4
- Reverted a line from `clif.c` that accidentaly got commited in r15586. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15597 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-17Added Wildcard's fix for @hide gms on @pvp'd pvp mapsshennetsind1-15/+11
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15596 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-17Fixed chrif_authreq possible crash, bugreport:5337shennetsind1-7/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15595 54d463be-8e91-2dee-dedb-b68131a5f0ec