- Added a new monster stat "ClientAttackMotion" to mob_db.yml which is the time from when a monster attacks until which the damage shows on the client at 1x speed
- Added a new config synchronize_damage; when set to "yes", the client will display the damage of normal monster attacks at the exact time it is applied on the server, removing position lag (fixes#259)
Special thanks to all people who worked together to make this possible.
Co-authored-by: aleos, Lemongrass3110, Atemo
- Fixed some monsters using the normal player level 10 version of a skill instead of the special NPC powerskill version (e.g. Heal for 9999 HP)
* See doc/mob_skill_db_powerskill.txt for more information
- Fixed Silver Sniper and Magic Decoy using Heal 10
- Fixed Magic Decoy doing normal attacks
- Fixes#8306
- Coma item bonus is no longer an additional effect / status change, but instead replaces the attack damage with setting HP/SP to 1
* That means Coma attacks will never kill someone, even if the original attack would be lethal
* When doing a Coma attack, the attack displays the original damage and this is also what counts towards the mob damage log
- Coma is checked for every single event that applies damage, including reflect damage, and for Provoke / Self Provoke
* Some Renewal-only effects couldn't be tested and were left unchanged (e.g. damage from White Imprison)
- Coma now sets SP to 1 instead of 0
- bComaRace, bWeaponComaRace and bWeaponComaEle won't work on bosses, GVG and battlefield objects
- bComaClass and bWeaponComaClass no longer work on GVG and battlefield objects, but can work on bosses if you specify Class_Boss or Class_All
- Edge is now defined to only work on normal monster
- The default exp_calc_type 0 no longer counts the first attacker twice and instead works like on official servers
- Added a new exp_calc_type 2 that counts the first attacker twice as previously
- The damage logged will now include overkill damage on exp_calc_type 0 and 2, but not count Coma damage (it will count the damage you would have originally dealt instead)
- Fiber Lock now has a range of 9 instead of 7
- Fixes#8279
- Grand Cross on target is now considered a full magic attack and no longer triggers drain and similar effects that only work with physical attacks
* This problem as was introduced in d8a02e9 to fix Coma not working on Grand Cross, but the reason that Coma works on Grand Cross is because it can also trigger on Magic skills (this is already working)
- Grand Cross damage on self is still considered as "physical damage received" for reactive cards (e.g. Alarm Card), but no longer as "magical damage received" (e.g. Platinum Shield does not trigger)
- Grand Cross no longer channels through the whole "weapon attack" code and just calls the necessary parts directly (it only considers ATK, DEF/VIT_DEF and refine)
- Damage parts of Grand Cross can now go below 1 and reduce the other part (e.g. -5 physical damage and 15 magical damage now results in 10 damage instead of 16)
- Implemented the official renewal damage formula for Grand Cross:
[((ATK+MATK)/2)*RATIO - DEF - VIT_DEF - MDEF - MDEF2]
- Fixed the order of damage processing for Grand Cross for fully accurate damage (there were a lot of rounding issues before)
- The attribute table is no longer applied twice on self damage (still applied twice on target)
- Cards that increase magic damage now work with Grand Cross (e.g. Skeggiold Card)
- Changed Grand Cross range to 9 as that's the official range (you never know when it matters)
- Fixes#1140
- Fixed several pre-re monster stats being 1 instead of 0
* Issue was introduced in 05a17d8 as safety measure to prevent division by 0, but it results in wrong damage numbers
* Players can get 0 on stats as well, so it's better to put such safety measures at the point where the division takes place
- Minimum stat for monsters is now 0 instead of 1
- Monsters that have 0 Luk after this change can no longer be cursed
- Improved csv2yaml converter to no longer lose the information whether a stat is 0 or 1
- Fixed an issue with converting Race2 in the csv2yaml converter
- Removed arbitrary "+1 MATK" bonus that was probably added due to people not figuring out why the damage was off by 1
- Fixed small damage inaccuracy issue in PVP
- Fixes#8277
- Fixed immobile monsters targeting random bystanders with their spells even though they already have a target
- Fixed some Malaya Port enemies targeting randomly
- Fixes#8273
- Added config setting mob_unlock_time that defines how long a monster can be trapped (immobile) before it unlocks its target
* Default is 2000ms, which makes Clashing Spiral no longer cause monsters to drop their target, but Ankle Snare still will even at minimum duration
- Monsters will now promptly use idle skills while trapped (there was a delay before)
- Increased the time the AI is still active when there are no players left on the map from 0ms to 5000ms
* This fixes an issue that monsters never unlocked their target if it was the last player to leave the map
- Clashing Spiral now has a range of 4 instead of 5
- Skid Trap no longer has a stop effect in pre-re, but it will make monsters unlock their target and become idle
- Skid Trap still stops targets for 3 seconds in renewal, but will no longer activate on bosses
- Throw Stone now deals 30 damage when used by monsters
- Fixes#7846
- SC_ANKLE no longer has a natural resistance and minimum duration
- Glacier Fist, Clashing Spiral and Tarot Card of Fate now grant SC_ANKLE instead of SC_STOP (cannot teleport while under SC_ANKLE effect)
- Grand Cross now gives SC_ANKLE to self during the spell duration
- Ankle Snare now has a minimum duration of 3000+30*baselevel milliseconds
- Ankle Snare will no longer activate on bosses in renewal
- Fixed Ankle Snare stopping bosses in pre-renewal even if you didn't enable the config setting for it
- Glacier Fist now has a minimum duration of 1500+15*baselevel milliseconds rather than it being the maximum duration
- You can now define Glacier Fist's effective base duration in the YML file without worrying about it being halved in the source code (it is still getting reduced by Agi)
- Fixed some integer overflow issues
- Fixes#8253
- NPC_INVINCIBLE now grants SC_INVINCIBLE for 300s instead of unlimited
- NPC_INVINCIBLEOFF and MER_INVINCIBLEOFF2 now just end SC_INVINCIBLE instead of having their own status change
- SC_INVINCIBLE now works like plant mode instead of just setting incoming damage to 1
- SC_INVINCIBLE now increases ATKpercent by 100 instead of increasing all damage by 75%
- SC_INVINCIBLE no longer blocks skills
- SC_INVINCIBLE now increases movement speed by 50% instead of 75%
- SC_INVINCIBLE now increases ASPD strongly
- Quagmire can no longer prevent ASPD increase (it still ends various status changes and prevents them)
- If you counter Spell Breaker with Magic Rod you now receive 20% of the caster's MaxSP
- Spell Breaker will now only deal HP damage on level 5
- Spell Breaker now can deal damage to bosses to 10% in pre-re (cannot be reduced by SC_INVINCIBLE unless you enable the "invincible_nodamage" setting)
- Spell Breaker will no longer deal damage if it would be lethal
- Added missing animation of Spell Breaker's damage
- Fixes#8228
- Freezing Trap, Sand Attack, Gunslinger Mine, Flip Tatami and Excruciating Palm no longer are affected by +% dmg cards
- The skills that ignore +% dmg cards are now exactly those skills that also ignore EDP and the EDP/Magnum Break elemental damage bonus
- Non-players are now always affected by ATKpercent
- Simplified the code accordingly
- Fixes#8250
- Throw skills no longer consider arrow attack unless you have a ranged weapon equipped
- Throw Shuriken is no longer modified by +% damage cards
- Throw Shuriken/Kunai no longer ignore flee
- Throw Shuriken's damage bonus is now flee-ignoring and includes skill level(x4), dagger mastery(x3) and arrow attack
- Throw Kunai's damage bonus is now three times arrow attack per hit
- Throw Shuriken/Kunai's final damage is now applied as forced neutral damage
- Fixed range of Throw Coins (9 -> 7)
- Other code improvements
- Fixes#8206
- Venom Splasher now ignores +% damage cards, but no longer ignores weapon element
- Venom Splasher now uses the correct durations and cooldowns in pre-re (was already correct in renewal)
- Venom Splasher and Venom Knife now correctly use default poison duration
- Venom Splasher and Venom Knife now have a poison chance of 100%
- Fixes#8221
- NPC_POWERUP and NPC_AGIUP now grant their own unique status changes
- Duration of NPC_POWERUP is now 5s*level
- Duration of NPC_AGIUP is now 10s*level and max level is back to 10
- Quagmire, Slow Grace and Adoramus now work even when the target used NPC_AGIUP
- NPC_AGIUP will remove Decrease Agi on start but will not prevent it
- NPC_AGIUP can be dispelled, but NPC_POWERUP cannot
- Dispel will now make a monster unlock its target
- Removed custom code to display the NPC_POWERUP effect, it's now correctly linked to EFST_POWERUP
- Removed the ifdef around EXTREMITYFIST2, so we no longer constantly change its ID
- Fixes#8242
- Fixes#904
- Fixes#7346
- Fixed the damage type of various NPC skills
- NPC_*BREATH skills and NPC_VAMPIRE_GIFT will now no longer be influenced by ATKpercent
- Fixed NPC_CRITICALSLASH not working in pre-re
- NPC_KEEPING now lasts 30s
- NPC_BARRIER now lasts 15s
- NPC_DEFENDER now lasts 15s, reduces damage by 87.5% and halves movement speed
- Fixes#3538
- Volcano now increases BaseATK instead of WeaponATK for non-monsters
- Fixed a bug that caused Volcano to increase MATK in pre-re (fixes#8208)
- Fixed min damage not being set correctly
- Fixed a compiler warning
- A handful of skills grant status changes that actually are calculated together into a value "ATKpercent" rather than increasing BATK/WATK, this value is then applied to most weapon skills
* Pre-re - Damage after skill ratio but before DEF reduction is multiplied with ATKpercent
* Renewal - Is a linear addition to skill ratio instead (ATKpercent of 200 means +100% to any skill ratio, so 100% becomes 200%, but 500% only becomes 600%)
* For further information which status changes go into ATKpercent and which skills are not influenced by it, please see the battle_get_atkpercent function
- Fixed base damage not being calculated correctly for certain skills
- MO_INVESTIGATE is no longer influenced by Spirit Spheres except when you have the WATK_ELEMENT effect (Magnum Break)
- Freezing trap now deals 100% damage on all levels and can miss
- Acid Terror now ignores DEF, but its base attack is reduced by VIT
- Acid Terror skill ratio is now 50%+50%*level
- Acid Terror and Martyr's Reckoning (PA_SACRIFICE) are no longer affected by refine and mastery bonus
- Magnum Break/EDP bonus no longer affects Acid Terror and unit skills
- Fixed damage formula of Shield Boomerang and Rapid Smiting
- Code improvements
- Fixes#8193
- Focused Arrow Strike no longer deals max damage when it crits (pre-re)
- Focused Arrow Strike no longer considers cards that increase/decrease critical damage (pre-re)
- Criticals with any guns are now calculated like melee criticals, not considering bullet attack (pre-re)
- Chain Action can no longer do critical hits (pre-re)
- Fixes#8200
- Fixed Frenzy HP drain interval being 15 instead 10 seconds in renewal (follow-up to 1a004f0)
- The buffs granted when a Super Novice levels up now all last 120 seconds (fixes#8189)
- Assassin Soul Link now doubles stun chance outside GVG/BG (fixes#8195)
- Added missing EDP 25% poison damage bonus (it was already fixed in renewal but applies to pre-re too), that works identical to the 20% fire damage bonus from Magnum Break; both buffs overwrite each other
- The damage on which EDP/Magnum Break is based on now considers defense reduction, passive mastery, refine and true sight
- The EDP/Magnum Break damage bonus now considers spirit sphere damage, but the spirit sphere part is non-elemental; both are added together before they get rounded down
- The EDP/Magnum Break damage bonus can now become negative through attribute table and is dispelled on logout
- The EDP/Magnum Break damage bonus no longer applies when damage is already 0 or lower beforehand
- EDP is now applied after defense, refine and mastery
- Refine bonus now is applied before mastery and between both the damage is capped to 1
- Envenom's fixed damage bonus is now a mastery bonus (was already fixed in renewal but applies to pre-re too) and thus increased by EDP
- Fixed damage interaction between MO_FINGEROFFENSIVE (Throw Spirit Sphere) with Magnum Break, refine and spirit spheres
- Fixed Magnum Break costing HP; it requires HP but does not consume it
- Fixed Sonic Blow's damage formula (300%+50%*skill_lv) and how the bonus from Sonic Acceleration works (+10% to ratio)
- Poison/DPoison now reduce hard DEF vs. monsters by 25%, but the DEF reduction no longer stacks
- Fixed DPoison's duration (60s base duration on all levels)
- Fixed Enchant Deadly Poison duration in Renewal
- Fixed chance of DPoison to be inflicted (3% level 1+2, 4% level 3+4, 5% level 5)
- Fixed negative resistances not increasing the chance of a status change to occur (it's only capped to 0 in renewal)
- When a Mercenary gains a bonus, there will now be an animation
- Mercenary bonuses now last for 5 minutes instead of 10 minutes
- Fixed HP/SP recovery values of Mercenaries (and Elementals)
- Mercenaries now recover HP when walking
- Homunculi no longer recover SP when walking
- Mercenary natural recovery interval is 8s for HP and 6s for SP
- Homunculus natural recovery interval is 2s for HP and 4s for SP
- MER_CRASH now only deals 1 hit and can be cast-cancelled
- Frenzy now drains HP every 10 seconds instead of every 15 in pre-renewal
- Fixed SP cost Mercenary Frenzy (100 -> 200 SP)
- Killing monsters exactly 2 times below you base level now still counts as mercenary kill
- Fixes#8184
- Fixes#7663
- Monster damage is now always reduced by items that reduce BF_WEAPON damage
- Monster damage is now never reduced by items that reduce BF_MAGIC damage
- Asprika now reduces all damage from monsters by 30%
- Asprika now reduces all physical damage from players by 30%
- Asprika now reduces damage regardless of range of the attack
- Shaman Hat will no longer reduce damage from monsters, but will still reduce magic damage from players
- This also affects all custom items using bonus3 bSubEle and bonus3 bSubRace
- Added a config to battle/items.conf to return to old behavior
- Fixes#8171
* Updated geteleminfo script command
* Added a new <type> "2" that returns the class ID of the elemental spirit
* Fixed Dimensions Elemental* combos: item descriptions require high elemental spirit check
* Added new constants for geteleminfo
Thanks to @aleos89 @Badarosk0 !
* Updated the "Name" of some items in item DB according to https://www.divine-pride.net/
* Truncated "Shinkiro & Shiranui Soul (Huuma Shuriken - Construct)" item name to 49 character
* Hidden Card
- No longer be removed by Dispell or Clearance.
* The Vigilante at Night
- Increases AP recovery rate from 1 to 2.
* Only One Bullet
- Increases AP recovery rate from 1 to 2.
* Spiral Shooting
- Increases AP recovery rate from 1 to 2.
* Magazine for One
- Increases AP recovery rate from 1 to 2.
* Wild Fire
- Increases AP recovery rate from 1 to 2.
* Abyss Slayer
- Reduces AP consumption from 150 to 120.
* Omega Abyss Strike
- Reduces fixed casting time from 1.5 seconds to 1 second.
- Reduces skill cooldown from 3 seconds to 0.7 seconds.
- Reduces AP consumption from 15 to 10.
- Changes damage property from neutral to fire.
- Increases base damage from 22000%/23500%(angel and demon)Matk to 26500%/28500%(angel and demon)Matk based on level 10.
* Abyss Dagger
- Increases base damage from 4600%Atk to 7350%Atk based on level 5.
* Deft Stab
- Increases base damage from 3750%Atk to 6200%Atk based on level 10.
- Increases factor weight of POW in skill formula from 5 to 7.
* From the Abyss
- Reduces skill cooldown from 60 seconds to 30 seconds.
- Increases number of hit from 2 hits to 5 hits.
- Increases base damage from 2600%Matk to 3400%Matk based on level 5.
- No longer be removed by Dispell or Clearance.
- Increases the trigger chance of abyss sphere from 15% to 25% based on level 5.
* Abyss Square
- Increases base damage from 2850+(Magic Sword Mastery skill level x 100)%Matk to 3750+(Magic Sword Mastery skill level x 200)Matk based on level 5.
* Chain Reaction Shot
- Increases base damage of secondary attack from 12350%Atk to 13550%Atk based on level 5.
* Frenzy Shot
- Increases AP recovery rate from 1 to 3.
- Increases base damage from 6150%Atk to 8250%Atk per hit based on level 10.
* Summon Elemental Ardor
- Reduces skill cooldown from 900 seconds to 60 seconds.
- Passive mode : Flame Technique, increases damage bonus of Fire Bolt from 100% to 400%.
* Summon Elemental Diluvio
- Reduces skill cooldown from 900 seconds to 60 seconds.
- Passive mode : Cold Force, increases damage bonus of Cold Bolt from 100% to 400%.
* Summon Elemental Procella
- Reduces skill cooldown from 900 seconds to 60 seconds.
- Passive mode : Grace Breeze, increases damage bonus of Lightning Bolt from 100% to 400%.
* Summon Elemental Terremotus
- Reduces skill cooldown from 900 seconds to 60 seconds.
- Passive mode : Earth Care, increases damage bonus of Earth Spike from 80% to 800%.
* Summon Elemental Serpens
- Reduces skill cooldown from 900 seconds to 60 seconds.
- Passive mode : Deep Poisoning, increases damage bonus of Killing Cloud from 50% to 1500%.
* Conflagration
- Increases global cooldown from 0.5 seconds to 0.7 seconds.
- Increases base damage from 3750%/5750%(spirit)Matk to 6200%/7200%(spirit)Matk based on level 5.
- Reduces the chance of inflicting [blaze] on each hit from 60% to 3%.
* Diamond Storm
- Increases base damage from 8150%/14400%(spirit)Matk to 12500%/20800%(spirit)Matk based on level 5.
- Reduces the chance of inflicting [quench] on each hit from 90% to 5%.
* Lightning Land
- Increases global cooldown from 0.5 seconds to 0.7 seconds.
- Increases base damage from 3750%/5750%(spirit)Matk to 6200%/7200%(spirit)Matk based on level 5.
- Reduces the chance of inflicting [torrent] on each hit from 60% to 3%.
* Terra Drive
- Increases base damage from 8150%/14400%(spirit)Matk to 12500%/20800%(spirit)Matk based on level 5.
- Reduces the chance of inflicting [concretion] on each hit from 90% to 5%.
* Venom Swamp
- Increases global cooldown from 0.5 seconds to 0.7 seconds.
- Increases base damage from 3750%/5750%(spirit)Matk to 6200%/7200%(spirit)Matk based on level 5.
- Reduces the chance of inflicting [severe poison] on each hit from 60% to 3%.
* Elemental Buster
- Reduces AP consumption from 30 to 15.
- Reduces skill cooldown from 5 seconds to 2 seconds.
- Increases base damage from 22500%/24000%(dragon and formless)Matk to 27050%/28550%(dragon and formless)Matk based on level 10.
* Guardian Shield
- Reworks AP condition from recovering AP to consuming 35 AP upon using instead.
- Reduces skill duration from 60 seconds to 40 seconds.
- Increases skill cooldown from 15 seconds to 25 seconds.
- Reduces global cooldown from 1 second to 0.3 seconds.
- Reduces factor weight of MaxHP in skill formula from 50% to 30%.
- Reduces final durability factor of skill level from 250% to 125% based on level 5.
* Cross Rain
- Increases AP recovery rate from 4 to 6.
- Increases base damage from 3200+(Spear & Sword Mastery skill level x 100)%/4500+(Spear & Sword Mastery skill level x 150)%(Holy Shield)Matk to 4500+(Spear & Sword Mastery skill level x 100)%/6500+(Spear & Sword Mastery skill level x 150)%(Holy Shield)Matk per hit based on level 10.
* Holy Shield
- No longer be removed by Dispell or Clearance.
* Shield Shooting
- Increases AP recovery rate from 3 to 5.
- Increases base damage from 14900+(Shield Mastery skill level x 250)%Atk to 18500+(Shield Mastery skill level x 750)%Atk based on level 5.
- Increases factor weight of shield refine rate in skill formula from 25 to 100.
- Increases factor weight of POW in skill formula from 7 to 10.
* Overslash
- Increases AP recovery rate from 3 to 5.
- Increases base damage from 1600+(Spear & Sword Mastery skill level x 250)%Atk to 2200+(Spear & Sword Mastery skill level x 500)%Atk per hit based on level 10.
* Judgement Cross
- Changes damage property from holy to neutral.
* The Vigilante at Night
- Increases SP consumption from 65 to 88 based on level 5.
- Reduces area of effect of gatling gun from 13 x 13 cells to 11 x 11 cells based on level 5.
* Only One Bullet
- Increases cooldown from 0.3 seconds to 0.35 seconds.
- Increases base damage from 7550%/8300%Atk to 16200%/18200%Atk based on level 5.
* Spiral Shooting
- Increases base damage from 8500%/9700%Atk to 9700%/15400%Atk per hit based on level 5.
* Magazine for One
- Increases base damage from 1950%/2400%Atk to 2750%/4300%Atk per hit based on level 5.
* Wild Fire
- Increases base damage from 13250%/12500%Atk to 17500%/16500%Atk based on level 5.
* Basic Grenade
- Increases base damage from 5750%Atk to 12000%Atk based on level 5.
* Hasty Fire in the Hole
- Increases base damage from 6750%Atk to 9000%Atk per hit based on level 5.
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>