Jump to content
  • 0
Sign in to follow this  
Conflicts

SP_DAMAGE_RETURN_CHECK (Custom)

Question

Hello Hercules Community. I've been looking through my old server backups and .diffs, and I found this interesting snippet.

I remember purchasing it from someone well known on rAthena, I think sometime around 2013 (or 2012), if I recall correctly.

 

pc.c


 

bool pc_check_damage_return(struct block_list* bl, int reflect_type)
{
struct map_session_data* sd;
int value;
if( bl == NULL || bl->type != BL_PC )
return false;
sd = BL_CAST(BL_PC, bl);
value = cap_value(sd->damage_return_check[reflect_type],0,100);
if( reflect_type && value && rand()%100 < value )
return false;
else
return true;
}

 

pc.c on pc_bonus2


 

case SP_DAMAGE_RETURN_CHECK:
sd->damage_return_check[type2] = += val;
break;

 

skill.c (for magic no-reflect)

 

 


// item-based reflection
if( sd && sd->bonus.magic_damage_return && type && rnd()%100 < sd->bonus.magic_damage_return && pc_check_damage_return(src,1) == true )
return 1;

 

Now, this works just fine. (src,1) denotes type2 = 1, in this case I'm using it as Magic no reflect.

It's supposed to work similar to this, bonus2 bNoReflect,n,x; where n = type (1 or 2) and x is x/100%.

However, my problem is, how do I effectively pass the val value? It seems to always return true. Regardless of what I put.

The bolded part above doesn't seem to work as intended.  So putting bonus2 bNoReflect,1,1; and putting bonus2 bNoReflect,1,100;

both lets you ignore item-based reflects on magic with 100% chance of success.

 

I hope I've explained it clearly.

PS: I've posted a similar thread on rAthena, is that bad?  :unsure: 

PPS: I'm still using rAthena, until eAmod BG gets implemented to Hercules.

Edited by Conflicts

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

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.   Restore formatting

  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.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.