rathena icon indicating copy to clipboard operation
rathena copied to clipboard

Reflect Issue

Open RadianFord opened this issue 7 years ago • 6 comments

  • rAthena Hash: 09cbf2dfa61e3eed34936e7cd2e312c02d20a211
  • Client Date: 2015 05 13
  • Server Mode: Pre Renewal
  • Description of Issue:

    • Result: Champion received reflect from Paladin w/ +15 Valk Garment, Reflect Shield and Auto Guard.
    • Expected Result: If Paladin receive damage champion will also receive a reflect damage from Asura skill.
    • How to Reproduce: https://rathena.org/board/topic/110855-asura-reflect-when-missed-wtf/#comment-324552 I'll link the topic from the forum.
    • Official Information: No official information about this im just concerned about this.
  • Modifications that may affect results: Modification or None it still the same.

RadianFord avatar May 09 '17 21:05 RadianFord

Is there any temporary fix for this issue?

RadianFord avatar Jul 28 '17 23:07 RadianFord

I'm sorry did't got fully the issue, but maybe lines below can help: conf/battle/skill.conf

// Using 'old' behavior for devotion vs reflect damage? (Note 2)
// Default is 0 (official). If 'devotion_rdamage' is > 0 (chance to devote the reflected damage),
// when player with devotion attacks player with reflect damage ability (item bonus or skill),
// the damage will be taken by the person who provides devotion instead the attacker.
devotion_rdamage: 0

// Officially, reflecting shield (SC_REFLECTDAMAGE) reflects physical damage by skill or normal attack.
// But if the target is being devoted, it ONLY reflects the damage for melee skill. (Note 1)
devotion_rdamage_skill_only: yes

anacondaq avatar Jul 29 '17 00:07 anacondaq

Result: Champion received reflect from Paladin w/ +15 Valk Garment, Reflect Shield and Auto Guard. Expected Result: If Paladin receive damage champion will also receive a reflect damage from Asura skill.

Looks like you're missing an information what the bug actually is about?

From the forum thread:

when i use asure on them and miss i get the damage back to me! I want to asura don't be reflected when missed! or asura or all skills, the mod tha is easier to do... any ideia?

So the champion is getting reflect damage even though the damage skill (Asura Strike) missed. To reproduce this issue... How am I supposed to make Asura Strike miss?

Jeybla avatar Oct 07 '17 08:10 Jeybla

It's possible to miss using Auto Guard. But it takes a few attempts.

Asura Strike missed without giving any reflect damage, when the Pala is not wearing a Valkyria's Manteau. If the Paladin is wearing a Valkyria's Manteau, the damage is reflected even if it missed. Though the skill Reflect Shild isn't needed to reproduce this issue. Tested on 54a119c56a90bddc09c1747188d9d6875ec4c167 in Pre-Renewal mode.

Edit: Why are these two reflect types (Reflect Shield and short_weapon_damage_return) not calculated equally? The function battle_calc_return_damage is called in two completely different places with a flipped status_reflect value. Unfortunately there is no comment why it's important to differentiate status reflect and other reflect values?

int64 battle_calc_return_damage(struct block_list* bl, struct block_list *src, int64 *dmg, int flag, uint16 skill_id, bool status_reflect){
[...]
	if (flag & BF_SHORT) {//Bounces back part of the damage.
		if ( !status_reflect && sd && sd->bonus.short_weapon_damage_return ) {
			rdamage += damage * sd->bonus.short_weapon_damage_return / 100;
			rdamage = i64max(rdamage,1);
		} else if( status_reflect && sc && sc->count ) {
			if( sc->data[SC_REFLECTSHIELD] ) {
[...]

Jeybla avatar Oct 07 '17 16:10 Jeybla

how to fix this problem?

BringerxD avatar Oct 01 '18 11:10 BringerxD

up

sgsilva avatar Jun 02 '20 17:06 sgsilva