2131 Commits

Author SHA1 Message Date
shennetsind
72ba123607 Added Official Guild Aura Implementation bugreport:667
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
2012-03-18 01:37:53 +00:00
shennetsind
36be409882 fixed gcc warning, removed unused variable 'flag'
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15697 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-17 19:55:17 +00:00
lordttseven
e2bbd02dab Rewrote SC_MAGICPOWER to behave like on official servers
* 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
2012-03-17 18:00:21 +00:00
lordttseven
b623c0a6d7 * forgot to also actually store the skill ids as numbers (follow-up to r15692, semi-revert of r15634)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15693 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-16 18:48:05 +00:00
lordttseven
4a6b4eb062 * fixed null pointer dereference in skill_name2id (bugreport:5455)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15692 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-16 18:23:58 +00:00
lordttseven
a58fc65984 Status change packet cleanup
* 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
2012-03-15 10:30:42 +00:00
gepard1984
691872fdc7 Enhanced DBMap implementation to allow storing integer type data in 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://svn.code.sf.net/p/rathena/svn/trunk@15682 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-13 14:46:28 +00:00
xantara
7a6949a30f Fixed a few Ranger-related skills (bugreport:5272)
- 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://svn.code.sf.net/p/rathena/svn/trunk@15663 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-07 05:40:31 +00:00
lordttseven
ce45ab511f - reverted r15523 (broken workaround for an underlying issue, see bugreport:5237 again)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15649 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-02 16:24:29 +00:00
gepard1984
17bb9ae684 Enabled DB_OPT_RELEASE_DATA for several DBMaps to simplify data freeing.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15644 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-01 23:21:45 +00:00
gepard1984
57de7584e8 Fixed skillname->ID DBMap storing skill integer value in void pointer.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15643 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-01 21:27:57 +00:00
gepard1984
7c60f9f8da Fixed Heal amount on skill levels 1~9 (since r15009, bugreport:5372).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15633 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-27 18:59:31 +00:00
xantara
75d4b76993 Fixed Royal Guard's Banding skill & icon activation (bugreport:5210)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15627 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-22 02:13:09 +00:00
xantara
ef2e407b17 Applied renewal skill changes: (bugreport:5302)
- 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://svn.code.sf.net/p/rathena/svn/trunk@15626 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-22 02:08:57 +00:00
shennetsind
d2cf026ba2 Initial support for Wanderer and Minstrel, and a few adjustments here and 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://svn.code.sf.net/p/rathena/svn/trunk@15616 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-19 17:49:23 +00:00
shennetsind
2310fd3ded Initial Support for Shura and a few adjustments here and there.
- credits to 3ceam for the base.
- should you step by any bugs let us know, http://rathena.org/board/tracker

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15606 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-18 17:34:59 +00:00
shennetsind
472348fad1 Fixed bShortWeaponDamage to work against cart termination, bugreport:5328
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15593 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-17 16:23:44 +00:00
shennetsind
c4c9386aa7 Fixed Royal Guard shield dispell to take shieldmdef in account for the duration
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15592 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-17 16:13:17 +00:00
shennetsind
3df097e1e2 Initial support for Shadow Chaser and a few adjustments here and there.
- credits to 3ceam for the base
- should you step by any bugs let us know, http://rathena.org/board/tracker

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15589 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-17 15:33:13 +00:00
gepard1984
0c87e6ef7a Fixed skill timers being added even if source has been already removed from map and is about to be freed (bug:5277).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15582 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-14 23:11:55 +00:00
gepard1984
22f0714c07 - Added libconfig (configuration file library: 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://svn.code.sf.net/p/rathena/svn/trunk@15572 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-13 01:19:04 +00:00
shennetsind
9606f84787 Fixed bug with abracadabra self skills not working, bugreport:5310
Also fixed magnificat's non-mado condition

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15566 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-11 19:43:24 +00:00
shennetsind
dd3fb2a2d3 Fixed compiler warning when compiled with #REMODE disabled
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15563 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-11 16:51:22 +00:00
shennetsind
18fc915f49 Fixed bug that didn't allow LV 90+ TK Rankers from being able to use kicks not corresponding to current kick stance, bugreport:5092
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15560 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-09 19:55:46 +00:00
shennetsind
6f930a783c Added some renewal behaviors of skills from bugreport:5302 (all under renewal mode)
- Venom Splasher no longer requires target to be at 3/4 or lower health to work.
- Deluge, Volcano and Violent Gale no longer require user to be of it's specific armor property to receive it's bonus.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15555 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-09 03:09:25 +00:00
shennetsind
4e118878dd Added renewal behavior to safety wall (exclusive to remode)
- Safety Wall now possesses a lifetime equal to 3 times the health of the caster, when the wall absorbs this much damage, the wall is removed and any remaining damage is dealt to the player.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15554 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-09 02:58:34 +00:00
shennetsind
99917b3183 Added some renewal behaviors of skills from bugreport:5302 (all under renewal mode)
- Steel body no longer sets def and mdef at 90, instead it reduces incoming damage by 1/10.
- Storm Gust no longer possesses a hit counter; instead every hit have a chance to freeze of 20+(5 x skill_level).
- Thunder Storm skill ratio was increased from 80% to 100%
- Misc: added isOFF macro to replace REMODE == 0 compiler-level-checks.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15553 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-09 01:37:48 +00:00
shennetsind
778eb05c94 Fixed waterball not canceling magic power if target is killed while not all spheres were fired, credit to wildcard for the fix. bugreport:5303
- also removed a unused instance of status_change in skill_counter_additional_effect

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15548 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-08 23:17:13 +00:00
xantara
42f3afb0ab ` Fixed Warg Dash skill to continuously run until codiling with an object (bugreport:5143)
` Fixed Warg Mastery, Warg Rider, and Warg Dash skills to check conditions before cast begins (bugreport:5181)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15542 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-04 08:00:39 +00:00
xantara
2daf269fee ` Fixed Guillotine Cross Poisons (bugreport:5275)
-- Paralyze decreases attack speed, flee, and movement speed
-- Death Hurt decreases the effectiveness of recovery
-- Venom Bleed reduces max HP
-- Oblivion Curse blocks natural SP recovery and skill use is denied
` Updated const.txt with the latest (renewal) statuses (SC_) values

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15539 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-04 05:46:00 +00:00
brianluau
00367cd7b7 - Removed more trailing tabs.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15527 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-30 20:17:55 +00:00
gepard1984
8b772a0bab Fixed map-server crashing when monster was killed by a reflected Waterball or Earthquake and delay_battle_damage was set to no (bugreport:5245).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15526 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-30 20:07:42 +00:00
brianluau
3aede46965 - Removed trailing tabs, and fixed some spacing.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15524 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-30 16:02:55 +00:00
protimus
994f4da391 Fix to Storm Gust work around Land Protector.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15523 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-28 01:00:16 +00:00
gepard1984
419806eb06 Fixed memory leaks related to skill cooldown saving (bugreport:5261).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15509 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-23 13:45:12 +00:00
xantara
f7b45f9b48 ` Fixed Emperium's skill damage/heal and elemental resist (eg. Aspersio) - bugreport:5256
` Rebranded the Core.h file to rAthena

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15507 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-23 04:47:38 +00:00
epoque11
55b11bd3e1 - Updated skill cooldown system to prevent multiple recordings of skill delays
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15505 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-22 22:48:05 +00:00
xazax-hun
d4cae50fe1 Minor cleanups, mostly reducing scopes.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15504 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-22 13:49:09 +00:00
xantara
597e919dbd Fixed Royal Guard's Inspiration skill - Now decreases exp by 1% - bugreport:5211
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15494 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-18 22:34:09 +00:00
gepard1984
b575345ac7 Reorganized picklog functions a bit to reuse some common code.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15486 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-18 00:45:35 +00:00
gepard1984
54ac5c18de Enabled Mersenne Twister MT19937 as random number generator instead of standard rand() function (follow-up to r14865, r14870).
- It fixes issues caused by RAND_MAX being only 32k in Windows system (bugreport:1927, bugreport:86).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15483 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-17 18:06:34 +00:00
eathenabot
17043ee8f8 * Merged changes up to eAthena 15058.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15476 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-17 06:47:30 +00:00
eathenabot
b212cf0408 - Follow up to r15472.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15474 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-17 06:34:51 +00:00
eathenabot
81523f57df * Merged changes up to eAthena 15054. [ai4rei]
* clif cleanup: Changed argument types of some clif functions.
- Added enumeration for skill failure codes and made clif_skill_fail use it.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15472 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-17 05:33:14 +00:00
shennetsind
08667a36b8 Fixed Flying Side Kick, you can now use it in non-foe and jump to their location (confirmed on official), bugreport:2443
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15463 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-15 05:12:23 +00:00
shennetsind
10582795f5 minor cleanup: removed duplicate magnum break code, bugreport:3057
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15455 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-14 12:15:12 +00:00
shennetsind
4ff0d01e8d Follow up r15453 -- first sign of lack of sleep! missed 2 changes from the merged file.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15454 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-14 12:06:51 +00:00
shennetsind
58baa584db Added updated magic rod behavior -- displays animation on use. bugreport:5236
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15453 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-14 12:03:27 +00:00
shennetsind
136bdae097 Small Life Potion, Medium Life Potion and Regeneration Potion are no longer dispel-able, bugreport:4076
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15452 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-14 11:38:57 +00:00
shennetsind
cb87b0ddfc Fixed a bug with autocast max_count checking, super special thanks to calciumkid
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15447 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-14 09:33:11 +00:00