summaryrefslogtreecommitdiff
path: root/src/map/skill.c
AgeCommit message (Collapse)AuthorFilesLines
2007-11-17Removed battle_config.error_log as console_silent already handles thisultramage1-12/+7
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11751 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-15- Added 2 new status changes for Life and Regeneration Potions [Zephyrus]zephyrus1-4/+14
- Fixed some items boxes giving wrong tamings. - Fixed another item giving 48 gladius[3] git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11738 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-13Added error reporting for invalid rows in skill db files.ultramage1-6/+12
Fixed skill_castnodex_db.txt not being parsed correctly. Fixed a search&replace typo in skill_db.txt. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11728 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-10Fixed a bug in r11384 letting you bypass requirements for some skills (see ↵ultramage1-12/+1
bugreport:219). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11710 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-09Replaced several 'int' variables with enums that they represent.ultramage1-11/+7
Expanded weapon_type enum with dual-wield constants (bugreport:384). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11704 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-06Fixed a crash caused by a mistake in r11657 (bad macro -> function code ↵ultramage1-7/+9
conversion) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11690 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-05Corrected the max. allowed skill name length, and optimized code that works ↵ultramage1-376/+320
with skill names according to latest changes. Changed skill db loading code to work similarly to how itemdb/mobdb is loaded (generic file loader + specialized function to process rows). * all skill db files are now checked for inconsistencies the same way. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11659 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-05Changed the skill_db.txt skill names in comments into actual columns, now ↵ultramage1-838/+192
the server reads these instead of a hardcoded array (see topic:170438). Corrected skill db loading code which was using a totally wrong column count in sevreal cases (or didn't do any checks at all). Cleaned up skill db lookup code * added some well-behaved functions to replace macros (skill_get_index) * used skill_get_index() to replace often occuring blocks of code that did the skill_id -> skilldb_index calculation in-line git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11657 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-02Removed some long-unneccessary debug messages (from r1105).ultramage1-31/+10
Removed function skill_count_target() because it's a duplicate (see topic:169337). Renamed skill_get_pl to skill_get_ele (because it retrieves element ids). The block_list structure now uses the BL_ enums instead of 'unsigned char'. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11640 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-02- Modified trap related code so it behaves as explained by Playtester: Traps ↵skotlex1-19/+6
trigger on everyone in their 'effect range' (skill_db's splash) for every target that lies within its trigger range at trigger time (range and interval in the skill_unit_db). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11634 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-31* Added names to the SC_ and SI_ enums, now they can be used to properly ↵ultramage1-3/+3
indicate where such values are to be used (replaces usage of 'int') * removed MIN_/MAX_PORTAL_MEMO, set MAX_MEMOPOINTS from 10 to 3 * removed support for @go-ing to your memo points * simplified the overly verbose @memo command; now re-uses pc_memo() * cleaned up pc_memo(), now uses semi-correct packet replies * Minor code cleaning/formatting git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11625 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-31- Fixed the pc_additem weight check breaking when your current weight is ↵skotlex1-1/+1
above your max. - Some minor cleanups. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11621 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-28- Corrected the firewall/kaensin knockback code to how it is supposed to be ↵skotlex1-2/+1
done (the element/race check was originally in battle.c, and it was moved to skill.c because of the firewall hits on undead setting, now that it is not needed the code can be changed to how it was back then). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11594 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-27Removed 'petid', a command from r284 to look up pet ids by name.ultramage1-6/+3
Cleaned up some pet-related code. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11586 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-27* Fixed TXT charserver doing periodic random-sized memory allocation ↵ultramage1-53/+31
(bugreport:312) * Set 'Create Converter's produce success rate to 100% (bugreport:302) * Added check that verifies weapon/ammo/state requirements also when casting finishes (might have unwanted side-effects tho'!) (bugreport:228) * Fixed Firewall knocking back undead/fire element mobs (bug in r11578) * Added dummy 'openmail' to txt server to fix a script error message git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11585 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-26- Removed the config setting firewall_hits_on_undead setting, Firewall and ↵skotlex1-18/+16
kaensin now automatically calculate the number of hits they should do per iteration based on the skill trigger frequency (you may want to raise that delay of 1ms in the db, though) - Cleaned a bit the loop for the Warmth skills. - Added a mising pc_class2idx invocation (fixes a very minor bug when you request max skill lv for a skill in your tree with different max than the skill_db max) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11578 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-24* Cleaned up some messy guild code (more to come)ultramage1-8/+9
* Cleaned up the mail code, no more pointless dynamic allocation * Added upgrade_svn11548.sql to convert the mail table to new format * Updated vs7 and vs6 project files * Increased the max. send buffer size to 5M since 1M is not enough * Please complain if something stops working ^^; git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11571 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-22* Heat isn't supposed to consume SP when used against playersPlaytester1-3/+3
- please report if it still consumes SP in pvp git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11544 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-21- Removed SC_INCAGIRATE/SC_INCDEXRATE as they are not used anymore (and ↵skotlex1-3/+4
where even incompletely coded) - Added SC_INCASPDRATE, SC_INCFLEE2, SC_INCCRI, SC_INCDEF, SC_INCBASEATK and SC_FASTCAST as these are required by the newer items. - Cleaned a bit the implementation of Suffragium git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11535 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-20* Some more updates to the skill unit codePlaytester1-6/+6
- renamed SKILLUNITTIMER_INVERVAL to SKILLUNITTIMER_INTERVAL - Heat now depends on the interval settings rather than firewall_hits_on_undead - if you want Heat to do more or less hits you can now change the interval value in the skill_unit_db.txt (official+default: 20ms) - Icewall doesn't break anymore when the SKILLUNITTIMER_INTERVAL gets changed git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11526 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-19- Added bonusautoscript and bonusautoscript2. These are used to attach a ↵skotlex1-0/+34
script to a player which gets executed on attack (or when attacked). Required for several of the more recent items. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11519 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18Fixed some gcc-specific stuff, silenced some more warningsultramage1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11515 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18Fixed numerous /W4 warnings (and created more :)ultramage1-11/+10
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11514 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18* Further optimization of the skill unit codePlaytester1-27/+16
- removed code for Crimson Fire Formation it now uses the same code as Fire Wall - added same knockback behavior as Fire Wall for Fire Formation - Heat now does 50 hits a second in pvp too - please let me know of any bugs that might appear git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11510 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18* Optimized the skill unit codePlaytester1-21/+37
- reverted the unit timer interval to 100ms to save CPU usage - rewrote the unit code of Fire Wall, Fire Formation and Heat so that they hit every 20ms if the target wasn't knocked back despite of the unit timer interval - Heat now does 15 SP damage to players instead of 60 per hit - optimized memory usage - TODO: Renaming or removing firewall_hits_on_undead config git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11509 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18Some code cleaning...ultramage1-4/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11505 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-17* Ground skill now can trigger every 20msPlaytester1-1/+1
- Firewall, Fire Formation and Heat now can do 50 hits a second - this was proven to be official behavior, but it will raise CPU usage git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11500 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-16* Venom Splasher fixes according to bugreport:230ultramage1-5/+6
- added passive skillv*30% bonus from Poison React - added official splash damage calculation - damage gets split by the number of targets at range 1, then applied to all targets in range 2 - reverted some very old code - clif_calc_delay() - that was preventing skills from displaying properly, by erroneously assuming that if the target has ddelay 0, it has endure effect activated - TODO: the skill should not consume a gemstone when it fails git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11494 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-16* Fixed a copy-paste mistake in disguise code (from r5833)ultramage1-96/+88
* Commented out clif_skill_damage2() as it is not used anymore * Made Venom Splasher a splash attack that distributes damage * Fixed displaying of several splash skills (see bugreport:238) - added flag SD_PREAMBLE for skills that need the 'magic' packet (fixes Grimtooth / Cart Revolution displaying out of sync) - hacked together Venom Splasher's "no animation for central mob" - hacked in a custom packet to make Dragonfear display semi-correctly git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11491 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-16- Fixing TK Mission asigning non spawning mobs.zephyrus1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11485 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-15Implemented new skill "Enlarge Weight Limit R", and increased MAX_SKILL_TREE ↵L0ne_W0lf1-0/+1
by 1. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11476 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-13* Fixed up NPC_POWERUP and NPC_AGIUPPlaytester1-2/+2
- NPC_POWERUP: 3x ATK and 2x HIT for 10+5*level seconds - NPC_AGIUP: 2x MOVE and 2x FLEE for 10+5*level seconds git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11450 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-13* Some further changes to the delayfix functionPlaytester1-2/+3
- aftercast delay is at least amotion no matter what skill (this includes skills with cast time AND skills with skill delay!) - aftercast delay reductions can NEVER reduce the aftercast delay below amotion (this includes Bragi and Soul Links) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11448 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-13- Again modified the delayfix function to reflect the current skill delay ↵skotlex1-6/+3
knowledge. Skills with 0 delay use amotion always (regardless of cast times) - Renamed the config default_skill_delay to default_walk_delay as that is the only thing it does now. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11446 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-13* Further updates to skill_delayfix functionPlaytester1-14/+14
- aftercast delay can never be lower than amotion - please report if this broke any skills git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11436 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-12* Fixed wrong index calculation in TXT char creation code (ref: r11410)ultramage1-1/+1
* Fixed SQL itemdb loading crash on NULL columns (ref: 11398) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11434 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-12- cleaned up homshuffle and fixed a possible crash in it.skotlex1-9/+9
- Updated the skill_delayfix function to behave as recently discovered by Tharis: Skills with no delay set will use amotion ONLY if the skill was instant-casted. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11433 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-12Fixed Bragi's aftercast delay reductionPlaytester1-3/+3
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11425 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-11Removed the check that prevented Warp Portal from opening after you picked ↵ultramage1-33/+36
the destination, if there was someone blocking the cell. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11406 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-10Minor skill_dance_switch cleanupultramage1-36/+29
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11405 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-10* Implemented more official Warp Portal behaviorultramage1-4/+10
- the transition from active to waiting mode is now done as a simple appearance change instead of deleting one and creating the other - due to the above, an opening warp is now properly accompanied by the log-in like sound effect git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11404 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-10Re-enabled packet 0x1ac to be sent when something gets ankle-snaredultramage1-4/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11400 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-10* Partially removed the usage of 'flags' to direct the execution path in ↵ultramage1-70/+81
skill unit code (some people seem to really like flags >_>) - wiped out r8478 and its multiple levels of useless flag propagation - skill_unit_onlimit (expiration) no longer executes in skill_delunit - added skill_unit_ondelete for proper handling of this event git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11399 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-10* Removed 'into_abyss' effect on traps; tests show that it works ONLY for ↵ultramage1-33/+35
Gemstones (tho' iRO website claims otherwise) - bugreport:171 - corrected code that was exploiting the flag as an 'expired' trap flag (replaced it with a more jAthena-ish approach) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11397 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-10Fixed a messup in r11347 causing skill units to expire, trigger or not ↵ultramage1-1/+1
trigger, completely randomly (or at least it seems that way). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11396 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-09* Corrected string lengths according to bugreport:198ultramage1-2/+5
- CHATBOX_SIZE: 70 -> 70+1 - removed some too aggressive checks in clif_parse_globalmessage() - removed CHAT_SIZE define as it actually doesn't apply anywhere - added CHAT_SIZE_MAX to serve as a custom limit to input string lengths - added length/contents checks to /b and /lb (against fake names) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11386 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-08* Delayed the check for required items when a skill is cast to when they are ↵FlavioJS1-36/+46
consumed. Now skills only fail due to lack of items after being cast. - Please make a bug report if you know of any skill that doesn't work like this in official. * Fixed hp of other party members not being sent when you join a party. * Removed unused global array names_id and renamed some structures that are used with variables of the same name. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11384 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-05Fixed 'Wink of Charm' - shouldn't work on boss mobs (topic:166115)ultramage1-10/+11
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11362 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-05* Removed a broken remnant of code from old gospel code (r4349) that's ↵ultramage1-69/+64
_supposed_ to clear the gospel status (no item use?) when you step out of its zone - 1) the constant UNT_GOSPEL was used in a switch() instead of PA_GOSPEL (thus actually ending 'NPC_STUNATTACK' status), and - 2) this code path is never taken, because Gospel is not recorded in skill_unit_temp[] (it has a periodic timer and is not DUALMODE) * Now the first empty spot in the 'skill_unit_temp' array will be used when tracking movement between land skills; reduced its length to 20 * Fixed the skill unit mechanism that is supposed to track whether you're still standing in a certain land skill's AoE or not, which was not working correctly since the time it was added (r3133) - solves the nasty problem of Loki, Quagmire, ... status not ending even after stepping out of it in some cases, if there was another song overlapping the skill's area (fixes bugreport:34) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11361 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-05* Completed the code for SC_LIFEINSURANCE and it's status icon.zephyrus1-1/+2
- Added the summer_ignorepalette to client.conf. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11359 54d463be-8e91-2dee-dedb-b68131a5f0ec