Official Renewal battle support and major battle calculation engine refactoring! Giant thanks to Baaberith for the initial refactoring work and Akinari for beating me over the head to get this finished xP
Please visit http://rathena.org/board/topic/84568-r17402-major-battleskill-system-overhaul-and-renewal-support/ for a complete and updated log of changes

General
* Forced neutral behavior documented and implemented. Weapon element does affect the following skills, but final damage is treated neutral for resistances. End result is endows do boost skill damage as expected given elemental weaknesses or resistances, but forced neutral skills will always miss on Ghost 3/4 mobs as the damage is "forced" back to neutral type after bonuses are applied but before resistances.
* The following skills are considered "forced neutral"
        Merchant "Cart Revolution"
        Creator "Acid Demonstration"
        Genetic "Cart Cannon" (damage is forced to element of cannon ball, either neutral or holy or ghost)
* Weapon calculation engine has been rewritten to better emulate official behaviors and "quirks", the following changes have been documented and implemented:
        Double attack takes priority over criticals when determining which effect activates
        VITDEF (status or sDEF) is applied on every hit on multi-hit skills, rather than a flat reduction on the final damage total
        Skills such as Spiral Pierce that differ when used by monsters modified to match official calculation methods
* Weapon element behavior adjusted to match official behavior, endows override any innate weapon element, including elemental arrows
* Renewal - weapon element only applies bonus damage to "weapon" ATK, ATK from status and equipment is considered neutral and ATK from mastery skills are considered non-elemental

Archer:
* Renewal - Owl's Eye still gives +1 HIT per skill level but the HIT bonus does not show up in the status window anymore

Hunter:
* Renewal - Claymore, freeze trap and landmine adjusted to apply full damage to "plant" type mobs (monsters that only take 1 damage on every hit)

Thief:
* Double attack gives a hidden +1 HIT per skill level on attacks that activate the double attack effect
* Envenom gives a flat +15 ATK per skill level when used, it is considered a mastery type damage and has no element

Rogue:
* Renewal - Owl's Eye still gives +1 HIT per skill level but the HIT bonus does not show up in the status window anymore

Assassin Cross
* Renewal - Soul Breaker formula for renewal implemented
        ((ATK + MATK) * (3 + (.5 * skill level)) - (eDEF + sDEF + eMDEF + sMDEF)
* Renewal - Soul Breaker no longer misses, it will always do full damage regardless of target's FLEE
* Renewal - Soul Breaker no longer gains DEF piercing or ignore DEF effect from weapons such as Combat Knife and Ice Pick
* Renewal - Enchant Deadly Poison for renewal implemented
        Weapon ATK multiplied by (1 + (EDP level * .8))
        Equipment ATK multiplied by (1 + (EDP level * .6))
* Renewal - EDP adds half modifiers (base damage/2) but otherwise functions as above with the following skills:
        Sonic Blow
        Soul Breaker
        Counter Slash
        Cross Impact

Creator
* Renewal - Acid Demonstration formula for renewal implemented
        7 * ((ATK + MATK) / skill level)  * VIT / 100 )
* Acid Demonstration adjusted to match "forced neutral" behavior on official
        For example, Acid Demonstration used on a water-type mob with a wind endowed weapon will do bonus damage, but will miss on a Ghost 3/4 monster regardless of endow.

Swordsman
* Magnum break bonus damage gives +20% ATK fire damage on physical attack (so 100% ATK normal + 20% ATK fire)

Lord Knight
* Renewal - Spiral Pierce formula for renewal implemented
        (ATK + (weapon weight / 2)) * (100 + (50 * skill level))%
* Renewal - Mastery skills such as spear mastery no longer add any bonus damage to Spiral Pierce
* Renewal - Spiral Pierce no longer ignores DEF

Ninja
* Renewal - Final Strike formula for renewal implemented
        base damage = current hp + ((ATK * current hp * skill lvl) / max hp) 
        final damage = base damage + ((mirror image count + 1) / 5 * base damage) - (eDEF + sDEF)
* Final Strike will MISS on plant-type mobs (mobs that only take 1 damage per hit from all sources) 
* Mirror Image cast over itself will override and reset current Mirror Image count

Genetic
* Cart Cannon "forced element" behavior implemented, damage is "forced" to the element of the cannon ball. 
        Ex. Cart Cannon fitted with a standard cannon ball and a fire elemental weapon will do bonus damage against earth targets, and a Cart Cannon fitted with a holy cannon ball will do bonus damage against shadow, but total damage is forced back to element of cannon ball and resistances applied against it. Neutral cannon balls will miss on Ghost 3/4 but holy/ghost/shadow will not.

Gunslinger
* Gunslinger Mine skill formula and behavior matched to official
        Fixed 500 damage, ignores DEF and is affected by +% ATK weapon cards only

Warlock
* Tetra Vortex behavior modified to match official
        First 4 spirit spheres are used for calculating element of each hit, but if 5 are present all 5 are consumed


git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@17402 54d463be-8e91-2dee-dedb-b68131a5f0ec
Follow-up to r17402 - Fix compiling warnings and VCC errors

git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@17403 54d463be-8e91-2dee-dedb-b68131a5f0ec