* 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://svn.code.sf.net/p/rathena/svn/trunk@11585 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@11578 54d463be-8e91-2dee-dedb-b68131a5f0ec
* 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://svn.code.sf.net/p/rathena/svn/trunk@11571 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@11535 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@11526 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@11510 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@11509 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@11500 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@11494 54d463be-8e91-2dee-dedb-b68131a5f0ec
* 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://svn.code.sf.net/p/rathena/svn/trunk@11491 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@11450 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@11448 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Renamed the config default_skill_delay to default_walk_delay as that is the only thing it does now.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11446 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@11433 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@11404 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@11399 54d463be-8e91-2dee-dedb-b68131a5f0ec
- corrected code that was exploiting the flag as an 'expired' trap flag (replaced it with a more jAthena-ish approach)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11397 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@11386 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@11384 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@11361 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added SC_LIFEINSURANCE and SC_BOSSMAPINFO to const.txt. (not implemented but i will work on it)
- Updated Field Manual and Bubble Gum in the itemdb.txt file.
- As L0ne Wolf reported to me and based on Doddler information, the Bubble Gum only do a second try of the item drop, and it don't increase the drop rates.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11356 54d463be-8e91-2dee-dedb-b68131a5f0ec
- now works on occupied squares (previously it disappeared)
- now you can walk out of an icewall square (removed code that blocked pathfinding if the origin cell was of a nonwalkable type)
- added back the hack where mapcell changes are broadcast to whole map (prevents client from leaving the cells non-walkable if you warp away)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11354 54d463be-8e91-2dee-dedb-b68131a5f0ec
- removed some nonsense code in skill_dance_switch() (from r8876)
- removed 'security system to prevent forgetting timer removal' (r1213)
- renamed some skill-related data structs (had same name as variables)
- commented out custom Venom Splasher countdown messaging code
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11347 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Mobs go into active AI when they are 2 cells from entering a player's view (ACTIVE_AI_RANGE)
- Mobs in passive AI no longer use skills.
- Mobs in passive AI do not random walk UNLESS they have entered active AI before (random walk frequency is not lost during passive AI).
- Added an additional check to prevent support skills from being blocked if the target has an armor element that blocks it.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11294 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Ignore %MDef bonuses now only reduce target's base MDEF, not MDEF2.
- Updated the 'skills that cause no damage are blocked now if the skill element is blocked by the target' to only apply if the skill has a status change associated (fixes Resurrection/Heal being blocked).
- Reverted the opt_flag2 change in status_change_start (clif_changeoption2) since it never served its purpose.
- Added a warning to prevent loading mobs with IDs that belong to the clone range.
- Changed MAX_MOB_DB to 3000, updated the definitions of the clone range defines so they are updated automatically with the change of MAX_MOB_DB.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11287 54d463be-8e91-2dee-dedb-b68131a5f0ec
- cast time is between 100% and 300% (+ infinite waiting fixed)
- damage is also between 100% and 300% (doesn't increase past range 9)
- added knockback that's equal to the distance to target
- no longer causes teleportation on WoE grounds
- if target runs behind an obstacle, the skill will still teleport you, but will not perform the attack or do knockback
- this should be official behavior, so enjoy the weirdness!
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11256 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Abstraction for the sql code (sql.c/h).
- New configure script and makefiles.
- Restored txt zeny logging code. (r10814)
- Rewrote mapserver's sql code - itemdb, mobdb, mapreg, logs. (r10814)
- Fixed a precedence issue (&& and ) in char_sql/char.c. (r10833)
- Improved db reading code a bit for consistency. (r11077)
- Added separate atcommand for mail deletion. (r11077)
- Corrected a few messages that said "new" instead of "unread". (r11077)
- Broadcast (*) messages now use "*" as the target's name (not ""). (r11077)
- Moved StringBuf code from utils.c/h to strlib.c/h. (r11084 r11117)
- Some misc login server cleanups (reformatting etc). (r11136)
- Corrected/modified some header entries. (r11141 r11147 11148)
- Adjusted VS project files. (r11147)
- Adjusted the way the sql charserver does item saving. (r11192)
- Corrected usage of reserved keyword 'friend' in mmo.h. (r11192)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11245 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Corrected and simplified the skill_magic_reflect function. Fixed damage reflection being based on the caster rather than the target.
- Potions are now usable inside Gospel by the casting Paladin (as per Aegis tests done by AuronX)
- The unequip script command now takes a position from 1 to 10 rather than 0 to 9 (to make it consistant with all the other equip position related script commands)
- Added the EQI_* constants to db/const.txt in a format usable by the equip-position related script commands.
- Updated some items to use the new EQI constants.
- Also updated doc/script_commands.txt to refer to the EQI list.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11230 54d463be-8e91-2dee-dedb-b68131a5f0ec