Jump to content
  • 0

SP_DAMAGE_RETURN_CHECK (Custom)


Conflicts

Question


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  317
  • Reputation:   63
  • Joined:  11/13/11
  • Last Seen:  

Hello rAthena. 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, 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. 

Link to comment
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.   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.

×
×
  • Create New...