* Fixed#879. Added check while equipping Gun-type weapon X Ammo (bullets and grenades).
* Fixed Gunslinger's Spread Shot can be used by equipping Shotgun + Bullet or Grenade Launcher + Grenade.
* Fixed Sightblaster printing errors to the map server log every time it's not used against a trap
* Fixed Sightblaster displaying damage twice and showing it's animation on every hit (partial revert of d95f5d2)
(Added a few comments so that it's clear it can't be moved to the other traps.)
* Pneuma / Arrow Shower / Ranges (fixes#915)
-- Pneuma now also protects against knockback from ranged skills
-- Arrow Shower cast by monsters is now always a melee skill and cannot be blocked by Pneuma, but can always be blocked by Safety Wall
-- When monsters cast a skill that has no specific rule, it will be considered melee when the target is within a 7x7 area around the monster, rather than a 11x11 area
* Charge Attack (fixes#417)
-- Damage: 0-3 cells 100%, 4-6 cells 200%, 7-9 cells 300%, 10-12 cells 400%, 13 cells 500%
-- Cast time pre-Renewal: 0-3 cells 500ms, 4-6 cells 1000ms, 7+ cells 1500ms
-- Cast time renewal: 500ms (250ms fixed)
-- The caster will now move to the cell next to the target rather than right on it
-- When the attack misses, there won't be knockback (but the caster will still move)
* Waterball/Jupitel (follow up to 6ebcb67, fixes#907)
-- Waterball/Jupitel now can hit through shootable walls
-- Waterball cells now can overlap
* NPC_EVILLAND now has 3+level intervals, a target range of 7 and ignores flee,
* NPC_EVILLAND's area of effect per unit is now 11x11 on level 1-9 and 27x27 on level 10
* NPC_EVILLAND now ignores Devotion
* Sanctuary now has exactly 1+3*level heal intervals, regardless of number of players healed
* Sanctuary will end early when 3+level targets have been hit, targets currently on Sanctuary might still be hit when it expires
* Monsters with mode MD_CHANGETARGET_MELEE will now only change targets on "attack" state if they are attacked by a normal attack
* Monsters will change targets if the target is within "attack range+1" distance instead of a static distance of 3
* When a monster gets attacked, it will now switch to the attacker even if the attacker is farther away than its current target and the current target is auto-attacking it
* Angry mode monsters will now always switch target to the first person that attacked them
* Power-Thrust will no longer affects players that don't have a weapon equipped
* If weapon requirements on Adrenaline Rush or Power-Thrust are not met, the target will no longer display the buff animation
* Party members now only gain +5% ATK from Power-Thrust on all skill levels
* Hilt binding now increases the duration of Adrenaline Rush, Power-Thrust and Power Maximize for all party members as long as the caster has learned it
* Tooth of Warg damage is now considered Weapon Mastery ATK which ignores elements.
* Warg Dash damage is no longer affected by player weight.
* When under the Warg Bite status players cannot use Hide, Cloaking, Cloaking Exceed, or Camouflage.
* Dance With Wug:
-- Damage is now considered a SC bonus.
-- Skills affected by Dance With Wug are now in INF3.
* Warg Strike and Warg Bite:
-- No longer affected by caster's % damage cards.
-- No longer ignores target's flee.
-- Ignores Demi-Human and Elemental reductions.
Thanks to @NovaRagnarok for helping test and get info!
Implemented Randomized Start Point
* Fixes#805.
* Character's will follow somewhat of the official method of a 'random' start point at their first login.
* Official servers use load balancing for setting the start point dynamically according to user count, whereas we at rAthena wanted to stay simple since we don't believe you guys will need this kind of load balancing for new characters.
* Monsters no longer have Vulture's Eye level 10 and Snake's Eye level 10 learned by default
* When you tank Cecil Damon from 10-14 cells away, she will no longer use her target skills
* Added a configuration with which you can set the level of Vulture's Eye and Snake's Eye that monsters have learned
* Moved parsing for start_point and start_items to separate functions.
* Moved startitem struct to mmo.h and declared start_items in the charserv_config.
* Adjusted the MAP_DEFAULT_NAME for pre-renewal to the correct map.
* Waterball now uses UNT_DUMMYSKILL
* Deluge/Volcano/Gale will no longer be blocked by UNT_DUMMYSKILL units
* Waterball will no longer cancel when damage is 0, on official servers this only happens if damage is negative but rAthena is no longer coded to handle negative damage unless you enable a custom feature, so... just don't use Waterball on water monsters, ok?
* Fixed two compiler warnings
* Mystical Amplification cast time can no longer be reduced by item bonuses except Staff of Destruction (fixes#903)
* Foresight will no longer stack additively with other cast time reductions (fixes#899)
* Suffragium and Foresight will now be consumed by skills, even if they aren't affected by them
Note: Whether skill-specific reductions stack additively with general reductions and how it works in renewal still needs to be tested, going to create separate issues for those once confirmed.
* Simplified the check (no need to check for ensemble and Adoramus separately)
* Fixed PR_BENEDICTIO not working at all
* Fixed chorus skills and WZ_COMET only counting to 1 rather than MAX_PARTY
- Implemented Waterball and Jupitel Thunder double cast (fixes#907)
* Waterball and Jupitel now won't apply a delay after they have been cast and won't notify the client about the spell until 150ms later, if another skill request is received, it will actually be cast as well
* To prevent exploits this behavior can only be used every 2 seconds
* This allows you to cast a spell after Jupitel that would not have enough range to be cast after knockback
- Finally implemented the official waterball unit behavior
* When casting Waterball, water, deluge and suiton units will be turned into waterball units
* These waterball units are then turned into waterballs one-by-one
* All unit behavior now also applies to waterball, special handling is now solved via db files
* If there are multiple waterball timers active at the same time, they will actually compete for the waterball units
* When waterball does not deal damage (100% resist), it will now cancel, allowing you to act and move again
* If this breaks anything, please notify me
- Mystical Amplification improved (fixes#908)
* Mystical Amplification will now toggle at cast begin rather than cast end
* When Mystical Amplification ends, spell damage will be immediately lower even for ongoing spells
* Behaves like Devotion now.
* Damage beyond Aqua's HP is not reflected back to the master.
* Damage is now properly displayed on Aqua rather than the master.
Thanks to @exneval.
* Expanded the array for Comet's SP cost to MAX_PARTY to avoid overflow.
* Refined the count check for skill_check_condition_char_sub:
-- Included Adoramus in the check.
-- Added a fail safe check.
Thanks to @theultramage.
Added the missing status icons(which were not in const.txt when converting it).
Also validated the status changes and removed the TODO mark since all of them are exported correctly.
Clean up the way we handle our script constants.
Since most of them come from source anyway we now export them directly into the scripting engine to ensure that they use the correct values.
The main benefits are that you users don't have to fear that we forget to adjust something according to source changes, if you use the constants in your scripts that is, and we developers do not have to think about updating them anyway. It also guarantees that constants that used wrong values before this use the correct values that are defined source side.