Jump to content
  • 0

Devotion magic reflect issue


Question

Posted (edited)

Hi all, WoE has just started in my server and I have noticed a big problem with magic reflect damage when the damage dealer is protected with Devotion.

The damage dealer (with devotion) does damage to enemy and for some reason, an attack animation happens to the damage dealer (he aims at the current location of Devotion caster and attacks).

This is a problem, because it "pauses" the constant cast of skills by the damage dealer. This also happens if the enemy is buffed with "Kaite" and gets damaged by "Meteor shower".

Below is a video showing what happens:

https://www.youtube.com/watch?v=6ENAp2a8VNw&feature=youtu.be

 

Could someone help me solve this issue?

I believe this has been caused due to a src modification made to my server, there has been many and I can't recall which has caused it.

Edited by Mael
moderator action

8 answers to this question

Recommended Posts

  • 0
Posted

Okay, I have been looking into this but unfortunately could not find the issue. Wondering if this has anything to do with the hexed...

I don't see anything that could be affecting this in the code below.

static int skill_magic_reflect(struct block_list* src, struct block_list* bl, int type)
{
	struct status_change *sc = status_get_sc(bl);
	struct map_session_data* sd = BL_CAST(BL_PC, bl);

	if (!sc || !sc->data[SC_KYOMU]) { // Kyomu doesn't reflect
		// Item-based reflection - Bypasses Boss check
		if (sd && sd->bonus.magic_damage_return && type && rnd()%100 < sd->bonus.magic_damage_return)
			return 1;
	}

	// Magic Mirror reflection - Bypasses Boss check
	if (sc && sc->data[SC_MAGICMIRROR] && rnd()%100 < sc->data[SC_MAGICMIRROR]->val2)
		return 1;

	if( status_get_class_(src) == CLASS_BOSS )
		return 0;

	// status-based reflection
	if( !sc || sc->count == 0 )
		return 0;

	// Kaite reflection - Does not bypass Boss check
	if( sc->data[SC_KAITE] && (src->type == BL_PC || status_get_lv(src) <= 80) ) {
		// Kaite only works against non-players if they are low-level.
		// Kyomu doesn't disable Kaite, but the "skill fail chance" part of Kyomu applies to it.
		clif_specialeffect(bl, 438, AREA);
		if( --sc->data[SC_KAITE]->val2 <= 0 )
			status_change_end(bl, SC_KAITE, INVALID_TIMER);
		return 2;
	}

	return 0;
}

Maybe it is related to the devotion formula in battle.c?

Still trying to find out the issue here...

 

I have further looked into this and manually removed all source related modifications I have made into the server. I ran a clean version of the emulator and the bug is still there.

Could this be a bug in the emulator?

  • 0
Posted
2 hours ago, Armony said:

has the same behavior whether set @Radian

devotion_rdamage_skill_only: no 

 

Did you try to reloadbattleconf or restart your server? or made some modification in the source side that might be related to your issue?

  • Upvote 1
  • 0
Posted
1 minute ago, Radian said:

Did you try to reloadbattleconf or restart your server? or made some modification in the source side that might be related to your issue?

I did some modifications at src but nothing work. 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...