summaryrefslogtreecommitdiff
path: root/src/map/skill.c
AgeCommit message (Collapse)AuthorFilesLines
2012-03-22Fixed bugreport:5486, now a more friendly message is displayed upon skill ↵shennetsind1-4/+9
fail when you do not have enough of the required ammo. Dev Note: I wasn't able to find a proper reply packet so I came up with this .-. if you know a official solution make yourself comfortable to replace. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15752 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-22Fixed bugreport:5385 soul collect skill now takes in account if its under ↵shennetsind1-2/+5
raising dragon state in order to boost amount of spheres it may summon git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15748 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-22Added GM Sandman Skill (part of bugreport:5172). now available thru angra ↵shennetsind1-0/+11
manyu item. - Causes target player, mob, homunculus or mercenary to enter in endless sleep state until cast again (logoff cancels). - Cannot be cast on self git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15747 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-22Fixed bugreport:5466 Wug Strike now works as it shouldshennetsind1-4/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15745 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-21- Fixed Randomize Spell not casting the skills properly. (bugreport:5480)epoque111-0/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15741 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-19Added the official sitting icon support, now while sitting a ugly icon will ↵shennetsind1-0/+6
be displayed in the buff bar. thanks to keikun for providing the id, curse him as much as you like for the icon being horribly ugly <3 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15732 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-19Refine DB updatelordttseven1-1/+1
* DB courtesy of Kenpachi * added support for different stats per refine level for renewal * cleaned up the corresponding code a little * REMODE now displays the atk values on the client correctly git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15730 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-18* uncluttered DB paths between REMODE on/off a littlelordttseven1-13/+6
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15719 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-18Fixed Mechanic Hovering skill, bugreport:5363shennetsind1-0/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15718 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-18Fixed Sura Windmill skill effect, bugreport:5438shennetsind1-1/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15711 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-18Added Official behavior to non-ensamble songs: they no longer go off if you ↵shennetsind1-2/+60
warp within the same map. bugreport:4547 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15708 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-18Added Official Guild Aura Implementation bugreport:667shennetsind1-7/+33
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15707 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-17fixed gcc warning, removed unused variable 'flag'shennetsind1-5/+3
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15697 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-17Rewrote SC_MAGICPOWER to behave like on official serverslordttseven1-47/+38
* 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15694 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-16* forgot to also actually store the skill ids as numbers (follow-up to ↵lordttseven1-4/+2
r15692, semi-revert of r15634) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15693 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-16* fixed null pointer dereference in skill_name2id (bugreport:5455)lordttseven1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15692 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-15Status change packet cleanuplordttseven1-1/+1
* 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15688 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-13Enhanced `DBMap` implementation to allow storing integer type data in ↵gepard19841-5/+5
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-07Fixed a few Ranger-related skills (bugreport:5272)xantara1-2/+22
- 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-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-01Enabled `DB_OPT_RELEASE_DATA` for several `DBMap`s to simplify data freeing.gepard19841-13/+4
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-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-22Fixed Royal Guard's Banding skill & icon activation (bugreport:5210)xantara1-1/+16
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)xantara1-1/+1
- 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-19Initial support for Wanderer and Minstrel, and a few adjustments here and ↵shennetsind1-58/+406
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-18Initial Support for Shura and a few adjustments here and there.shennetsind1-69/+253
- 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-17Fixed bShortWeaponDamage to work against cart termination, bugreport:5328shennetsind1-3/+3
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15593 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-17Fixed Royal Guard shield dispell to take shieldmdef in account for the durationshennetsind1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15592 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-17Initial support for Shadow Chaser and a few adjustments here and there.shennetsind1-117/+299
- 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@15589 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-14Fixed skill timers being added even if source has been already removed from ↵gepard19841-0/+2
map and is about to be freed (bug:5277). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15582 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-13 - Added `libconfig` (configuration file library: ↵gepard19841-7/+6
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-02-11Fixed bug with abracadabra self skills not working, bugreport:5310shennetsind1-1/+2
Also fixed magnificat's non-mado condition git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15566 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-11Fixed compiler warning when compiled with #REMODE disabledshennetsind1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15563 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-09Fixed bug that didn't allow LV 90+ TK Rankers from being able to use kicks ↵shennetsind1-4/+2
not corresponding to current kick stance, bugreport:5092 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15560 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-09Added some renewal behaviors of skills from bugreport:5302 (all under ↵shennetsind1-1/+8
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15555 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-09Added renewal behavior to safety wall (exclusive to remode)shennetsind1-3/+9
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15554 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-09Added some renewal behaviors of skills from bugreport:5302 (all under ↵shennetsind1-1/+12
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15553 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-08Fixed waterball not canceling magic power if target is killed while not all ↵shennetsind1-7/+11
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15548 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-04` Fixed Warg Dash skill to continuously run until codiling with an object ↵xantara1-6/+20
(bugreport:5143) ` Fixed Warg Mastery, Warg Rider, and Warg Dash skills to check conditions before cast begins (bugreport:5181) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15542 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-04` Fixed Guillotine Cross Poisons (bugreport:5275)xantara1-1/+17
-- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15539 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-30- Removed more trailing tabs.brianluau1-13/+13
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15527 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-30Fixed map-server crashing when monster was killed by a reflected Waterball ↵gepard19841-9/+8
or Earthquake and `delay_battle_damage` was set to `no` (bugreport:5245). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15526 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-30- Removed trailing tabs, and fixed some spacing.brianluau1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15524 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-28Fix to Storm Gust work around Land Protector.protimus1-1/+23
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15523 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-23Fixed memory leaks related to skill cooldown saving (bugreport:5261).gepard19841-2/+13
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15509 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-23` Fixed Emperium's skill damage/heal and elemental resist (eg. Aspersio) - ↵xantara1-0/+9
bugreport:5256 ` Rebranded the Core.h file to rAthena git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15507 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-22- Updated skill cooldown system to prevent multiple recordings of skill delaysepoque111-16/+46
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15505 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-22Minor cleanups, mostly reducing scopes.xazax-hun1-8/+7
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15504 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-18Fixed Royal Guard's Inspiration skill - Now decreases exp by 1% - bugreport:5211xantara1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15494 54d463be-8e91-2dee-dedb-b68131a5f0ec