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://svn.code.sf.net/p/rathena/svn/trunk@17402 54d463be-8e91-2dee-dedb-b68131a5f0ec
-Cleanup code:
--Fix sv_read line limitation to 1024char, now limited to 512char per column
--Change db read output to display number of line read
--Remove code duplicated that was acting like sv_read
--Move job_var[JOB_COUNT] into 1struct job_info.
--Move job related db into pc.c instead status, and those in pc that affect all into status
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17391 54d463be-8e91-2dee-dedb-b68131a5f0ec
Fix a map crash when an unconditional_skill GM casts Tetra Vortex with less than 4 spheres - Thanks TTest
Added packets for new clients (Lighta)
Some minor documentation updates
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17360 54d463be-8e91-2dee-dedb-b68131a5f0ec
Added LG_BANISHINGPOINT hitrate increase - Fixes bugreport:7535
Fixed pc.c compile warning when not using Renewal Drop Rate (Lighta) - Fixes bugreport:7704
Fixed an issue where a non-player failing to freeze another with Frost Diver causes map crash (Lighta)
Added SCS_NOCHAT for easier character mute management
Some status.c and status.h standardizing (spaces suck)
--Hercules Merges
- Merged 9fe16cc : MC_IDENTIFY shouldn't take SP when no items found
- Merged 31f9100 : SC_DEEPSLEEP causes character to be unable to talk
- Merged cb9b70e : Cash Shop support for 2011-11-22 clients - Topic tid:82791
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17353 54d463be-8e91-2dee-dedb-b68131a5f0ec
--Fix unreference warning and delete_timer mismatch func
-- updated all map_msg translations and edited some comments. (Euphy)
-Merge/adapt few Hercules stuff:
-- Add save char after buying if save_config&128
-- Check if char_server online before sending 0x3008 (stats_report)
-- Add hom_class2type, to solve homonculus type, easier then bitmasking.
-- Add vending_db to speed up searchstore iteration.
-Quickfix (Daegaladh)
--Add emotion effect to SA_QUESTION
--Upd SA_INSTANTDEATH to really kill ourself and not set to 1hp
--Fix SC_SLOWDOWN not asking to recalculate speed when used.
--Fix SC_STRIPX effect on player, (should only remove equip on player)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17333 54d463be-8e91-2dee-dedb-b68131a5f0ec
--change connection sequence for 82d+9a0+20d => 9a1 => 99d
-Merge some Hercules stuffs:
--upd char (default map check, 0x99d HC)
--CreateParty enforced chk
--mapindex_db for name lookup
-Add max packet_len check on chrif init for mmo_charstatus.
-Upd @mapinfo, add missing mapflag info.
-Expand teleport_timer for pet,homon,ele (Daegaladh)
-Make homon,ele inherit master speed (Daegaladh)
-Fix frostnova status chance and driven fail msg. (Daegaladh)
-Cleanup, replace hardcoded ai value with enum eq, change pet.msd to pet.master to harmonize with other blchar.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17332 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Implemented Port Malaya Kafras, guides, sailors, and Eden teleporter.
* Edited documentation for 'sc_start' and 'addmonsterdrop'/'delmonsterdrop' commands. (follow-up r17326, r17237)
* Updated atcommand documentation and help file.
* Minor organizing of script locations.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17328 54d463be-8e91-2dee-dedb-b68131a5f0ec
-> Added documentation
Updated script command 'sc_start' to allow for more variables and options - Fixes bugreport:7664
-> Item databases and some scripts updated
Cleanup of script commands 'countitem' and 'countitem2'
Rework of @ 'reload' commands - Now offers @reload dbname
-> @reload packetdb now available
Restricted bonuses 'SPRecovRate' and 'HPRecovRate' to short range melee only - Fixes bugreport:2916
Increase AGI no longer makes characters stand - Fixes bugeport:7657
Small warning fix for 'below array bounds' in skill.c
Added short timeout to make_connection (lighta) - Fixes bugreport:7670
Some visual fixes for equipment and items (lighta)
Rework of script command 'checkweight' (lighta)
Some channel system cleanup (lighta)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17326 54d463be-8e91-2dee-dedb-b68131a5f0ec
-> Updated documentation on changes
Updated Overbrand to a closer official area behaviour - Fixes bugreport:7651
Follow up to r17320 - Fix incorrect condition check (lighta)
Fixed status effects not being removed correctly (lighta, Akinari) - Fixes bugreport:7634
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17321 54d463be-8e91-2dee-dedb-b68131a5f0ec
-- fix clif_colormes, turn it into more generic function and remove duplicate equivalent, channel_colormes
-- Move allow_user_color_override config into channel option. (only user owner or admin could enable/disable for chan)
- Remove some hardcoded string using colormes msg_conf(378-382)
- Make clif_GlobalMessage being used in clif_parse_GlobalMessage instead redeclaration.
- Add some new packet (0x978,0x979) worldinfo related, thx Shaktoh
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17317 54d463be-8e91-2dee-dedb-b68131a5f0ec
Fixed issue with updating area clients when a player is forced to stand - Fixes bugreport:7635
Finished updating Crescent Elbow to official behaviour
Fixed compiler warning with pc_close_npc_timer (lighta)
Fixed Star Gladiator Miracle not using correct ratio (lighta)
Fixed character position not always updating correctly (thanks Antares) - Concerning bugreport:7492
Cleaned up unit.h comments and some other minor issues
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17311 54d463be-8e91-2dee-dedb-b68131a5f0ec
--fix typo (unintented test npc added) bugreport:7618
--missing elfe case for clif_additem
-Add attr-column (extend mode as choosen), MD_MVP is incomplete
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17304 54d463be-8e91-2dee-dedb-b68131a5f0ec
Updated Magic Crasher for Renewal - Fixes bugreport:6340
Attempt to fix walking dead by modifying death function sequence - Fixes bugreport:7607 (but blame aleos if it breaks something - he helped me)
Some code cleanup
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17301 54d463be-8e91-2dee-dedb-b68131a5f0ec
-- capped CAMOUFLAGE effect, (defs should be lower then 0, atk bonus max 300, fix cri bonus (base is 1000 not 100))
-- fix bugreport:7601 and add new mapflad for clif_maptypeproperty2 (nomineeffect, nolockon, noitemconsumption, nousecart, nosumstarmiracle) still investgating full effect
-- harmonize script_ref source
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17297 54d463be-8e91-2dee-dedb-b68131a5f0ec
Fixed offensive healing and cleaned up skill_calc_heal - Fixes bugreport:7317
Fixed Poison Mist to accurately display and damage correct area - Fixes bugreport:7600
Cleaning channel system update from r17284 and r17285 (lighta)
Updated CHN, SPN, IDN, FRN map_msg translations (Goddameit, Tragedy, Cydh, Capuche)
Follow up to r17228 - Removed map_msg lines related to deprecated @main chat
Fixed issues with clif_maptypeproperty2 and clif_dropfloorite (lighta) bugreport:7602 - bugreport:7603
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17296 54d463be-8e91-2dee-dedb-b68131a5f0ec
* As many servers probably want to remove the gutter line problem, it is configurable; just adjust the bowling_bash_area setting in skill.conf
- Sonic Blow now has a fixed range of 1, even for monsters; a monster can't use this skill if you tank it from farther away (bugreport:3453)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17295 54d463be-8e91-2dee-dedb-b68131a5f0ec
Updated Basilica to finally act more official - Related to bugreport:171
Small restructure of disabling skill checks - Fixes bugreport:7411 and bugreport:7577
Updated 3rd class weight limit bonuses to official (thanks Baalberith) - Fixes bugreport:7019
Some skill tree cleanup as ALL_INCCARRY and ALL_BUYING_STORE aren't necessary anymore
Fixed Hanbok and Reins of Mount issue in newer clients (aleos) - Fixes bugreport:12622
Some small fixes to the MVP Arena script (aleos) - Fixes bugreport:7592
Fixed standard channels being removed (lighta) - Fixes bugreport:7590
Fixed some compiler warnings (lighta) - Fixes bugreport:7589
Attempt to fix disappearing carts on reboot (lighta) - Concerning bugreport:7591
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17292 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Thorn Trap cannot be created near another trap, under a target, and has a maximum of 3 active. (bugreport:7488)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17283 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Updated Renewal mob_db and mob_skill_db with Malangdo entries. (credits: Lemongrass)
* Created a 'force drop' flag (4) for map_addflooritem and applied it appropriately. (credits: lighta, follow-up r17274)
* Fixed KG_KAGEMUSYA active duration. (bugreport:7567)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17279 54d463be-8e91-2dee-dedb-b68131a5f0ec
-Follow up r12272, change msg_langtype2langstr for readable format (mkbu95)
-Upd mobdb, increase range for new id, thx to tid:81416
-Fix bugreport:7563 mob casttime are no longer affected by any status (Akinari)
-Fix bugreport:6475 bloodsucker should now reveal hidden target (Akinari)
-Upd map_msg_fr (Capuche)
.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17274 54d463be-8e91-2dee-dedb-b68131a5f0ec
-> Note: Formulas were derived from iRO and then modified to roughly match with data growth tables presented by players
-> Note2: ATK formula is currently being multiplied until renewal attack is implemented because they were too weak with normal formula
> Follow up to r17262 - Reverted Death Bound change - bugreport:7549
Pyroclastic doesn't give insane ATK bonuses anymore - bugreport:7526
Weapon Refine and Forging now get straight bonuses when used by Mechanic - bugreport:7509
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17270 54d463be-8e91-2dee-dedb-b68131a5f0ec
-- 3b6289f : missing guild association for sd. (yes again)
-- c653a70 : Documentation for malloc.c
-- 8ec2352 : Iterator not being destroy when no guild.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17263 54d463be-8e91-2dee-dedb-b68131a5f0ec
Extremity Fist SP Cap raised to work better with renewal stats - bugreport:7455
Expanded Super Novice receives +10 stat bonuses for a 0 death counter - bugreport:7394
Renewal Assassin Cross of Sunset now includes AGI into the formula - bugreport:6604
Berserk job level check works as intended - bugreport:6960
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17262 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Changed a few for loops to ARR_FIND.
> Follow up to r17169:
* Clearance now properly works on mobs and no longer works on guild members.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17261 54d463be-8e91-2dee-dedb-b68131a5f0ec
* 'summon' command now takes milliseconds instead of seconds, as documented in script_commands.txt. (bugreport:7527)
* Fixed a max level bug with Homunculi. (bugreport:7525, credits to Akinari)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17253 54d463be-8e91-2dee-dedb-b68131a5f0ec
No other langage is enable by default, change LANG_ENABLE in msg_conf.h
-- Add 2 new atcommand :
@langtype to switch over langages
@reloadmsgconf to reload the db
Langage choosen is account wide, not reseted by default on relog.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17251 54d463be-8e91-2dee-dedb-b68131a5f0ec
fixed monster flee/hit calculation, we still need a mobdb update for proper monster stats - bugreport:7457
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17249 54d463be-8e91-2dee-dedb-b68131a5f0ec
Ignition Break now adds damage when weapon is fire element - bugreport:7433
Comet no longer affects targets on Land Protector - bugreport:7401
Spiral Pierce hitlocking now functions correctly (Thanks Playtester) - bugreport:4127
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17247 54d463be-8e91-2dee-dedb-b68131a5f0ec
-Follow up r17242 upd Cmakefile for cmake build
-Apply Baalberith fix for chan system leaks, thx =)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17245 54d463be-8e91-2dee-dedb-b68131a5f0ec
-Upd @mapinfo to count number of vendors in map
-Upd getrandgroupitem to check if valid itemit returned.
-Cleanup and KR style
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17232 54d463be-8e91-2dee-dedb-b68131a5f0ec
-merge clif_guild_skillup and clif_skillup (old TODO)
-add implementation for packet : 0x8c7, 0x99f and 0x1c9, variant of ZC_SKILL_ENTRY (0x11f)
-replace some hardcoded skill_flag by enum values
-little cleanup in skill_attack and regroup some skill with same effect (blewcount, animation).
-rewritte combo handling to regroup info and not duplicate info.
-change eleanor skill to use SC_COMBO as memo instead SC_STYLE_CHANGE
-separate SC_TINDER_BREAKER from SC_CLOSE_CONFINE since they don't act same way
-change MH_SONIC_CRAW to one attack with multiple hit instead x attack.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17229 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Adds @join and @channel commands to manipulate chat channels. (see doc/atcommands.txt)
* Speak in a #channel by sending a whisper to #channel or binding your global chat to the channel (@channel bindto <#channel_name>).
* Automatically join local map channels (#map) and guild ally channels (#ally), with mapflag 'nomapchannelautojoin' to disable the channel for a map (optional).
* Allow users to create private channels if 'allow_user_channel_creation' is true.
* Set default channels, text colors, and other settings in conf/channels.conf.
> Other changes:
* Improved overall guild processing/lookup by creating a cached guild state.
* Fixed a bug where equipping a garment would override costume garment.
* Removed clif_message and merged it with clif_disp_overhead, since both use the same packet.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17228 54d463be-8e91-2dee-dedb-b68131a5f0ec
Related mainly to dance skills and quagmire. Thanks again to playtester for showing me how to reproduce it and test the fix afterwards.
Related bugreports:
bugreport:7221
bugreport:6686
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17223 54d463be-8e91-2dee-dedb-b68131a5f0ec