Skip to content

Commit

Permalink
Synchronize Damage Feature (#8305)
Browse files Browse the repository at this point in the history
- 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
  • Loading branch information
Playtester committed May 25, 2024
1 parent 023263d commit b4ae40d
Show file tree
Hide file tree
Showing 13 changed files with 3,419 additions and 15 deletions.
13 changes: 11 additions & 2 deletions conf/battle/battle.conf
Original file line number Diff line number Diff line change
Expand Up @@ -130,10 +130,19 @@ equip_self_break_rate: 100
// This affects the behaviour of skills like acid terror and meltdown
equip_skill_break_rate: 100

// Do weapon attacks have a attack speed delay before actual damage is applied? (Note 1)
// NOTE: The official setting is yes, even thought it degrades performance a bit.
// Should damage have a delay before it is applied? (Note 1)
// Some skills might not have a delay by default regardless of this setting.
// The official setting is yes, even thought it degrades performance a bit.
delay_battle_damage: yes

// Should the damage timing be synchronized between the client and server? (Note 1)
// This is not official behavior, but it should remove the position lag after being hit by a monster.
// This setting only affects normal monster attacks and takes priority over "delay_battle_damage".
// Many skills show their damage immediately, so setting "delay_battle_damage" to "no" at the same
// time might improve the experience further, but will not work for all skills.
// Tired of Dark Illusion hitting you 5 seconds too late? Then turn this on.
synchronize_damage: no

// Are arrows/ammo consumed when used on a bow/gun?
// 0 = No
// 1 = Yes
Expand Down
3 changes: 2 additions & 1 deletion db/import-tmpl/mob_db.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
# WalkSpeed Walk speed. (Default: DEFAULT_WALK_SPEED)
# AttackDelay Attack speed. (Default: 0)
# AttackMotion Attack animation speed. (Default: 0)
# ClientAttackMotion Client attack speed. (Default: AttackMotion)
# DamageMotion Damage animation speed. (Default: 0)
# DamageTaken Rate at which the monster will receive incoming damage. (Default: 100)
# Ai Aegis monster type AI behavior. (Default: 06)
Expand All @@ -77,7 +78,7 @@

Header:
Type: MOB_DB
Version: 3
Version: 4

#Body:
# eAthena Dev Team
Expand Down
3 changes: 2 additions & 1 deletion db/mob_db.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
# WalkSpeed Walk speed. (Default: DEFAULT_WALK_SPEED)
# AttackDelay Attack speed. (Default: 0)
# AttackMotion Attack animation speed. (Default: 0)
# ClientAttackMotion Client attack speed. (Default: AttackMotion)
# DamageMotion Damage animation speed. (Default: 0)
# DamageTaken Rate at which the monster will receive incoming damage. (Default: 100)
# Ai Aegis monster type AI behavior. (Default: 06)
Expand All @@ -77,7 +78,7 @@

Header:
Type: MOB_DB
Version: 3
Version: 4

Footer:
Imports:
Expand Down
Loading

0 comments on commit b4ae40d

Please sign in to comment.