* Battle.c functions commented for readability and credit
* Gunslinger Ground Drift corrected to MISC type in Pre-Renewal skill DB
* Fixed minor issue with Renewal Soul Breaker and weapon element
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17405 54d463be-8e91-2dee-dedb-b68131a5f0ec
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
-- update client.conf, (description for version and flag). bugreport:7731
-- add packet_ver_flag2 battle_conf to expand version restriction.
-Upd charserv to allow multiple clientversion at once. (2012 and 2013 PACKETVER was creating conflict of info sent ver30 shouldn't have 0x82 for exemple)
--NB: clientvers rely on clientinfo version, paid attention you have set the good one for your client.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17363 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
-Patch bugreport:7673 Revert removing of 0x6b (tmp patch)
-Fix bugreport:7669 (hotkey amo broken since r17322)
-Fix bugreport:7524 (so that items don't show up as 0% drop rate in renewal drop) (Akinari)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17339 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
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
Minor fix to Reflect Damage timer going over time limit - Fixes bugreport:7511
Fix npc_idle_timer error when SECURE_NPC_TIMEOUT is not enabled (lighta) - Fixes bugreport:7623
Fix freezing issues after being forcefully closed out of an NPC (lighta) - Fixes bugreport:7615
Follow up to r17300 - Fix /guildinvite issue (lighta) bugreport:7612 (Now available for 20120410)
Some fixing up of Crescent Blow
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17307 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
* Updated the Secure NPC Timeout feature to work as it does on official servers and enabled by default. (bugreport:1721) (Hercules e671397)
* Fixed disable_items not working when the close button appears in NPC dialog while keeping close/close2/end backwards compatibility. (bugreport:7307 / bugreport:7469)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17280 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
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
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
* Implemented status change timers for 2012-06-18 onwards; added packets for 2013-03-20Ragexe. (Hercules 267eb1f)
* Fixed a crash when def1 hit 400. (Hercules 7e35b76)
* Fixed a warning in clang related to the channel system. (Hercules 16dfef6)
* Fixed @disguise breaking with @refresh. (Hercules b804926)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17234 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
- Reverted the change from r17216 and replaced it with another fix that will now work for all skills (still related to bugreport:6991)
- Implemented the official stun chance of Bash based on an Aegis leak; basically the base chance (5% per level above 5) will get multiplied by BaseLevel/50.0, so on level 50, it will be 1x, on level 75 it will be 1.5x and on level 99 it will be almost 2x (prior reductions), e.g. a level 99 knight using bash 10 will have a 49.5% base success chance to stun with it (if he has learned the quest skill)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17222 54d463be-8e91-2dee-dedb-b68131a5f0ec
-fix summon_legion multiple spawn exploit and set summon stats.
-fix MH_LIGHT_OF_REGENE being broken since eleanor upd (typo)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17213 54d463be-8e91-2dee-dedb-b68131a5f0ec
nb :
NULL is transmitted for atcommand and npc call since they shouldn't be reduced.
src = direct user, so we can compare directly, if you want to compare to master please cast so.
saved status from char won't have *src currently since I don't believe we need to recalculate def.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17211 54d463be-8e91-2dee-dedb-b68131a5f0ec
- In the process, fixed the effect of luk on status changes and removed the static 3% resistance that has been proven to not exist (97 vit, 1 luk can get stunned on officials)
- As there is no general luk resistance as it depends on each status change, removed the luk_status_def configurations
- Updated the success chance of Decrease Agi to the formula that was extracted from Aegis (blevel/5 + int/5 + skill_lv*3 + 50)
Note: I tested all the status changes thoroughly, but as this is a quite large update, it would be nice if someone could cross-check it.
Note2: Renewal status resistances (for pre-renewal status changes) are currently not implemented in rAthena at all. They need to be added in another update.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17201 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Revised/added 'npc_isnear' to check if an NPC is nearby when opening chat rooms or using vending. (Hercules bc63ef1)
* Misc. fixes.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17187 54d463be-8e91-2dee-dedb-b68131a5f0ec
* NPC_PIERCINGATT deals 75% damage, ignoring DEF
* NPC_COMBOATTACK deals 100%+25%*level damage spread on level+1 hits (note: it's not 100% fixed because of rA handling soft DEF wrong)
* NPC_RANDOMATTACK deals 100%*level damage with a random element
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17184 54d463be-8e91-2dee-dedb-b68131a5f0ec
--Implement : MH_TINDER_BREAKER, MH_CBC, MH_EQC, MH_SONIC_CRAW, MH_SILVERVEIN_RUSH, MH_MIDNIGHT_FRENZY
--Fix style_change not giving sphere when eleanor attacking, and auto set to fighting mode when created.
--Add display msg to know in wich mode we are.
--Remove state check not working well with homon since ??
--Upd MH_SUMMON_LEGION to use summon mob declaration rather then real mob, and set them as agressive by default
-Mob doesn't have fixed casttime anymore bugreport:5697
-Fix few typos
--Enforce logs.sql to check if table not existing. (remove fail at import)
--fix bloodylust effect (temp)
--slave now return final master when killing mob
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17182 54d463be-8e91-2dee-dedb-b68131a5f0ec
- When bosses use level 48 decrease agi, it will now have a base duration of 65 seconds on players (bugreport:5085)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17177 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Minor update to Renewal item database.
* Follow-up r17158, added a missing label in Octopus Cave instance (bugreport:7303).
> Hercules merges:
* b9c79ce:
Fixed NJ_SUITON not working properly with Kagerou/Oboro.
* dbf69e8:
Updated quest_db with more Port Malaya entries.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17163 54d463be-8e91-2dee-dedb-b68131a5f0ec
-- Added 'disable_items' to all applicable scripts.
-- Added preliminary source modifications. (Hercules 137cc43)
* Raised max stat for third jobs to 125 (follow-up r17133, bugreport:7295).
* Fixed logical issue with r17151. (Hercules 5c667cc)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17160 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Changed encoding on new cli and msg_* files from r17152, r17153.
* Replaced a couple of characters in source files that caused encoding issues.
* Updated SQL database from r17157.
> Hercules merges:
* 915365b:
Updated official behavior of warp portal dealing with skill requirement and casting.
* 6c6fbf0:
Updated quest_db with some Port Malaya entries.
* adda8d7:
Updated SN_SIGHT to its RE behavior. True Sight stacks with skillratios now, instead of multiplying final damage.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17158 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Updated SQL databases from r17134, r17149.
> Hercules merges:
* 2f72676, 06883a7:
Renewal item_db updates, mostly new headgears and costumes.
* b38c660:
Fixed Trick Dead not being removed on job change.
* 55134e8:
Modified @mi exclusion criteria so that it requires a monster to not have a fixed spawn point as well as no base/job exp. It was excluding things such as red/blue/whatever plant from search results.
* bf76055:
#autotrade now relogs the target, not the caster.
* c6882c7, 412efb9:
Updated Renewal Izlude warps.
Moved various Izlude NPCs to Renewal coordinates.
* 064dad8:
Fixed bug where Kagerou and Oboro could hit their Zanzoe.
Follow-up on bugreport:4832, Ankle Snare now works properly in GvG.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17151 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Coluceo Heal has no fixed cast time at level 3.
- Increased the range for Expiatio to 11.
- Updated SP requirement for Clementia, Canto Candidus, Coluceo Heal, and Praefatio.
- Updated Epiclesis to be 5x5.
- Updated damage formula for Renovatio and Judex.
- Updated success chance and checks for Adoramus effects: Agi Down and Blind.
- Updated Highness Heal recovery modifier.
- Added a safety check for Clementia and Canto Candidus stat bonus to prevent possible server crashes.
- Coluceo Heal no longer works on players in Berserk.
- Lauda Ramus now clears Deep Sleep.
- Clearance is now only usable on selected allies in party/guild and monsters.
- Added missing attack and resistance check for Eucharistica.
- Added missing barrier bonus for Kyrie Eleison from Praefatio.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17150 54d463be-8e91-2dee-dedb-b68131a5f0ec
-- Thus allowing to inflict damage between map (only if both player don't move).
-- Cleanup old map-check on move check.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17148 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Crush Strike now lasts for 30 seconds.
- Phantom Thrust is now targeted to allies.
- Updated SP requirement for Death Bound.
- Giant Growth now has a .1% chance to break caster's weapon.
- Stone Hard Skin now has a 30% chance to break caster's weapon.
- Stone Hard Skin now has a 30% chance to reduce 25% damage from monsters for 10 seconds.
- Corrected Stone Hard Skin's DEF/MDEF increase formula.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17145 54d463be-8e91-2dee-dedb-b68131a5f0ec