Dev Note: I didn't put it under session data cause only bard/gypsy classes use it, I found it to a be a waste. I'm not very comfortable with the dbmap either, however, so if you got any idea on how to make it more efficient lets talk :3
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15708 54d463be-8e91-2dee-dedb-b68131a5f0ec
Before:
- Guild Aura would only trigger when guild master moved
Now:
- Guild Aura is triggered when master moves and/or when guild mate gets inside the area
- Guild Aura range is no longer hardcoded, you may modify it from skill_unit_db
Also:
- Added new skill_unit_db target type 'guild'
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15707 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed bugreport:5424, deep sleep status now makes target unable to move
- Fixed bugreport:5335, savage steak and similar foods now provide their bonus correctly.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15695 54d463be-8e91-2dee-dedb-b68131a5f0ec
* everything has been tested (with the exception of WZ_SIGHTBLASTER)
* the status now uses a much simpler two-state mechanism; see http://www.eathena.ws/board/index.php?autocom=bugtracker&showbug=4833 for details
* non-offensive and non-magic skills no longer consume the status
* set WZ_ICEWALL NK flag to NK_NO_DAMAGE to properly not consume the status
* fixed stale matk used for unit- and timerskills
* fixed the original bug with isilla card triggering a status recalc (bugreport:4833, matk swapping no longer needed)
* removed a couple now unnecessary exceptions (they now work out of the box/as side effects)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15694 54d463be-8e91-2dee-dedb-b68131a5f0ec
* fixed a couple typos
* replaced duplicate function clif_status_load with a macro
* normalized and documented status change table related getter abstraction
* put some checks that were previously in multiple places into clif_status_change
* packets are now used as they are on official servers:
- ZC_MSG_STATE_CHANGE for ending statuses and starting them on non-pcs
- ZC_MSG_STATE_CHANGE2 for starting *all* statuses on players
- tick = 9999 for statuses of indeterminate duration
- for non-pc units, a packet is only sent if it has a visual impact on the client; if you notice any missing visual effects, please report them!
* fixed hidden GM characters leaking certain status packets
* fixed hidden GM characters not displaying timers for newly gained statuses
* fixed status end packet never being sent for non-pc, non-mercenary units
* fixed SC_CLOAKING displaying a time bar on the client
* fixed tick being an unsigned int, yet used as a signed int
* removed hard-coded status length exceptions in clif_status_change
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15688 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Numeric global variables (mapreg) now utilize `DBMap`'s ability to store integer-type data (follow-up to r15682).
- Minor code cleanup: replaced some `DBMap` function calls with macros.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15683 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@15682 54d463be-8e91-2dee-dedb-b68131a5f0ec
Fixed some create_arrow_db.txt comments. (Follow up r15672.)
Fixed Sura job change quest. (bugreport:5431)
Corrected a NPC location in quests_veins.txt.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15679 54d463be-8e91-2dee-dedb-b68131a5f0ec
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://svn.code.sf.net/p/rathena/svn/trunk@15675 54d463be-8e91-2dee-dedb-b68131a5f0ec