summaryrefslogtreecommitdiff
path: root/src/map/skill.c
AgeCommit message (Collapse)AuthorFilesLines
2008-02-20Changed pc_can_give_items() to use standard boolean logic instead of the ↵ultramage1-1/+1
inverted 1/0 one (bugreport:396) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12220 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-10Fixed Warp Portal code sometimes producing errors/crashes in the case where ↵ultramage1-5/+11
a priest enters his/her own warp (bugreport:270) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12189 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-04- Some code cleanups.zephyrus1-2/+2
- Added new Cell types (NoChat and NoDamage) - Added JobChangeLevel and FreeSKPoints to #stats - Added a Crash protection in clif_send with invalid fd values. - Merged a missing update in TK Mission. - Added script command 'getmapflag' - Merged some new Status Change to Stable. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12175 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-04- Fixed a 'typo' which made my last commit actually not fix anything ↵skotlex1-1/+1
(Plagiarize can no longer copy skill levels beyond their max skill_db value) - Corrected Diablo's Robe equip-level and weapon-level columns being exchanged. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12172 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-03Fixes to Devotion (see topic:153345)ultramage1-9/+15
- removed totally fake Devotion packet from Marionette Control code (see r3934) - fixed one devoted chars array management code bug which caused chars to be included in the array multiple times, producing various problems (also see r3934) - the link will now re-display when coming into view range - the link will no longer break if the devotee walks away, but instead, if he receives damage while being out of range of Devotion git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12171 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-29- Plagiarize can no longer copy skill levels beyond their max skill_db value.skotlex1-5/+11
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12151 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-21- Optimized some code about @size changes in chars.zephyrus1-2/+3
- Fixed #jailtime (Bug Report 853) crash. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12117 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-20- Fixed a comparison whn doing item searchesskotlex1-11/+10
- Fixed hom_setting&0x2 conflicting with the 'view-range' limit check. - Stone curse now uses status_percent_damage instead of a precalculated value. - Merged the SA_MONOCELL and SA_CLASSCHANGE code. After changing class all the status changes that cannot be triggered on bosses are dispelled. - SA_CLASSCHANGE now uses the bloody branch list to pick a target MVP class. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12098 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-17Icewalls can no longer be knocked back (see bugreport:38)ultramage1-2/+5
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12083 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-14- Fixed missing mob_spawn call, which was making CR_CULTIVATION not actually ↵skotlex1-1/+3
spawn the plant. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12077 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-14* Client packet correctionsultramage1-9/+2
- 0x01df is not 'gmreqnochatcount', but for requesting a player's account name via right-click menu (which currently can't be done) - added /remove and /recall, aliases to /shift and /summon - added /changemaptype, which alters a single cell's gat type - gm kick will no longer exit the client (now it goes to the login screen) - removed the quicksort invocation in /ignore code git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12076 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-14Simplified the BL_CAST macro (see topic:166795)ultramage1-31/+31
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12072 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-11Applied Skotlex's alternative to r12044 (abracadabra fix)ultramage1-9/+6
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12054 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-11- Implemented the extra damage bonus to TK_JUMPKICK when it is used while ↵skotlex1-4/+7
running (however what the bonus's equation is has been lost to time, so someone else correct it). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12053 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-11- Corrected CR_CULTIVATION to cause summoned plants to expire after 5 minutes.skotlex1-3/+6
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12052 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-10- Fixed getmonsterinfo to return "null" when returning the name of a ↵skotlex1-9/+12
non-existing mob instead of -1. - Extended the status_percent_damage define to include a bolean to specify whether or not the target can be killed from it. - Corrected CR_CULTIVATION to fail when the target cell has some BL_CHAR on it already. - Changed the meaning of 'flag' in status_percent_change, to enable differentiation between damage that can kill the object and damage that cannot. - Script command percentheal will no longer kill the player if the specified amount is negative (and not -100). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12051 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-10Fixed Abracadabra unable to cast non-targeted skills (bugreport:186)ultramage1-9/+15
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12044 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-10Another round of login server cleaningultramage1-3/+4
* fixed passwordencrypt on SQL not behaving correctly (since r10753) * corrected some column lengths in the login db (username, password,...) * fixed some places which used wfifo without first reallocating it * removed interserver packet 0x7532 (Request to end connection), as there was no code that actually sent this packet * moved RFIFOSKIP actions to execute as soon as possible git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12043 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-10- Removed 'skill_steal_type' from skill.conf as said config no longer exists.skotlex1-1/+1
- Corrected @slaveclone/@clone behaving as @evilclone when you change the @ symbol. - Modified SC_ARMOR_ELEMENT so it grants elemental resist as if it they were card granted bonuses. - fixed a SA_DISPELL crash when casted on an object with no status changes. - Adjusted the autospell code so that it does not relies on card_id == 0 for subtracting rates. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12041 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-09- corrected duration of sphere mines to be 30 secs regardless of skill levelskotlex1-1/+5
- Corrected duel_count/duel_list (you DON'T place variables in a .h file! That is what 'extern' is for) - Script command warpportal now places a warp in its initial state (as if a real warp portal was casted) - Updated dispell to also not remove the following effects: Hindsight, Inc Hit/Atk Rate (NPC_POWERUP), Nen, TK stances and tumble, warm and speedup1 (the other speed potion) - Chase-walking characters can now loot. - Hiding characters can't drop items now. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12036 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-08- Made the pc reg variables receive a const char* as the argument, since ↵skotlex1-1/+0
they duplicate the value anyway (and they were receiving const char* values from the setd function) - Fixed Wand of Hermod not starting the SC_HERMOD status change (which blocks spells) - Fixed a missing break in the cast cancel code. - Fixed additional def/mdef from vit/int bonuses being lost when a status change that affects def/mdef triggers (for homunculus) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12033 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-08git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12031 ↵reddozen1-0/+6
54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-06- Fixed Overthrust's timer not being able to be refreshed when recasting it ↵skotlex1-1/+1
(conflict on what val2 should mean) - Changed the code in status_change_timer so that a null pointer no longer causes a crash but prints an error instead. - Corrected clones not copying over a player's skills properly. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12027 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-06Cleaned up mob_once_spawn() and mob_once_spawn_area().ultramage1-2/+2
- now they use mapid instead of mapname as input parameter - moved the responsibility to perform "this" -> mapid resolution to the caller - added a pair of swap() operations to prevent working with a negative-dimensioned area (fixes bugreport:87) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12022 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-04Waterball code cleanup (see bugreport:707)ultramage1-40/+28
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12011 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-04Modified the map_setcell() code to to use a boolean flag instead of needing ↵ultramage1-43/+30
SET_ / CLR_ pairs of defines (topic:174323). Also removed script object 'setcell', added script function 'setcell'. - Now you can manipulate cell information without needing @loadnpc - You can also manipulate the terrain ('gat') type itself, using the new cell_walkable, cell_shootable and cell_water constants (currently the implementation uses bit flags too, so to get the type you want, you need to adjust the flags one by one) - This breaks current scripts, so please adjust places that use setcell (also be sure to _only_ use predefined constants, not direct numbers) - Details can be found in the script reference. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12009 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-04- Fixed Music Lesson's effect on Assassin Cross of Sunset.skotlex1-1/+1
- Fixed a possible crash in status_change_timer when debug mode is disabled. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12006 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-03Changes to reduce the number of map cell typesultramage1-13/+7
- Pneuma now again works via status change (see r3969) - removed unused CELL_SAFETYWALL - removed custom CELL_REGEN, it just increased regen rate (r1192, r1518) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12005 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-03Map cell mechanism rewriteultramage1-2/+1
- defined a data structure for map cells (replaces 3 various cell arrays) - both terrain (gat) and dynamic (cell) information is now stored as C-style bit flags instead of #defines and bitmasks - added map_gat2cell() and map_cell2gat() for terrain type conversions - changing terrain information via 'setcell' is temporarily disabled - mapserver startup now takes longer, as it needs to adapt mapcache data to internal representation, cell by cell (new mapcache format anyone?) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12003 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-23- Fixed horrible handling of skill_abra_db which leads to memory corruption ↵skotlex1-15/+20
(depending on the contents of yor abra_db.txt file) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11970 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-22Fixed non-skill splash attacks showing 'unknown skill' (bugreport:665)ultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11961 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-22Path code cleaning...ultramage1-2/+3
* Added map/path.h, moved path-related function headers to path.h. * Removed the macroed _real() path functions. * Modified some functions to use boolean return values instead of 1/0 or 0/-1. * Modified path_search_long() to allow a NULL output pointer (in which case a temporary local buffer will be used instead). * Removed an unused ->path_half member variable from struct walkpath_data. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11958 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-22Fixed mob AI code iterating over non-mob objects without checking, when ↵ultramage1-1/+1
monster_ai flag 0x20 is set (caused by r11943) Cleaned up macros that wrap unit_stop_attack() (bugreport:357) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11957 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-18- Cleaned up a bit the format of skill_db.txt (that comma next to the skill ↵skotlex1-2/+2
name looks ugly if you ask me) - Corrected skill_db reading to properly trim the skill name/descs. - Added a mobid_db in map.c to handle mob lookups faster. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11943 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-14- corrected Option_Xmas value in const.txtskotlex1-1/+4
- Wand of Hermode now dispells buffs only of allies. - Fixed some null pointer checks in status_change_end. - Corrected a crashy Warning message. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11910 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-10- Cleared up npc shop id when warping a player.skotlex1-1/+1
- Added missing range/skill-mask info to reflected damage (fixes autospells not triggering on it) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11880 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-09Changed Cloaking to not show an animation when it fails (thanks to Harbin ↵ultramage1-47/+54
for pointing it out). And while at it, also tweaked skill_check_cloaking() to use a more readable boolean logic instead of the previous zero-nonzero. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11877 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-09- Cleaned up a bit the code for HVAN_CHAOTICskotlex1-4/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11875 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-08- Fixed a 'variable may be used uninitialized' error.skotlex1-2/+3
- Removed 'type' being passed to skill_trap_splash since it was not used at all. - Fixed Land Mine doing nothing. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11872 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-08- Changed the chaotic delay from block to delay since it just a secskotlex1-2/+0
- Fixed the longing for freedom check in unit_can_move - Corrected a check while parsing refine_db.txt git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11870 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-07- Fixed ensembles skills.skotlex1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11869 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-29- Integrated the SG related info of hate_mob and feel_map into a single ↵skotlex1-14/+12
structure (sg_info). - Modified skill_blown and skill_attack so that reflected spells do not cause knockback. - SG Blessing skills now grant the extra experience to everyone when the SG killed the mob. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11840 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-28- Corrected skill_check_condition to not delete items right away for certain ↵skotlex1-33/+36
skills that do the deletion themselves. Fixes several skills consuming items twice. - Dispel's success rate is no longer affected by MDEF - You are no longer blocked from being warped when standing in a warp while in a duel. - Duels are now automatically ended when you warp out of the map you are in. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11836 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-28Fixed reflected spells bypassing WoE no-knockback restriction, because the ↵ultramage1-1/+1
code allowed that when cast on self; not anymore (bugreport:231) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11835 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-27- Corrected the online_data_cleanup routine setting offline characters that ↵skotlex1-1/+2
are still connected to the char-server. - Added a check in script command sc_end to properly end infinte endure - ASC_BREAKER no longer triggers status effect cards. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11817 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-24Fixed a crash when Slim Pitcher is cast (due to one unconverted piece of code)ultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11796 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-23- Added a few missing skill fail messages on cast-end-pos skills.skotlex1-2/+9
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11787 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-22- Changed the status_change structure to use dynamic rather than static ↵skotlex1-350/+342
memory to hold the individual status changes, this should have a noticeable impact on the server's memory consumption. - Had to add a few 'ugly' flags to status_change since now you can't track SC related information while said SC is not active (happens only for Storm Gust, Joint Beat and Magic Power). - Since I am unable to fully test, watch out for any bugs~ git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11786 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-21random cleanupultramage1-3/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11767 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-21* Homunculi now reset their can-act delay on call/resurrect/mapchange ↵ultramage1-2/+0
(allows bypassing delays by doing rest/call instead of relog) [ultramage] * Changed Lif's Emergency Avoid to just get a normal skill delay (blocks all skills, cancelled by mapchange / re-summon) instead of getting a persistent block on only this one skill (bugreport:13) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11766 54d463be-8e91-2dee-dedb-b68131a5f0ec