Jump to content
Sign in to follow this  
Darkelfen

DoRam twice cast

Recommended Posts

As we know, there are certain skills of the DoRam which are casted twice, SU_SV_STEM_SPEAR for example. The skill descript states that chance is increased every 30 levels, so I've used this piece of code at skill.c. I've assumed a 5% base chance * Sk_lv/30.

 

case SU_SV_STEM_SPEAR:
    rate = (sd->status.base_level)/30;
    if( rnd()%100 < 5*rate )
        skill_castend_damage_id(src, bl, SU_SV_STEM_SPEAR, pc_checkskill(sd, SU_SV_STEM_SPEAR), tick, 1); 
    break;

@@Rytech, suggested to change it to

case SU_SV_STEM_SPEAR:
    rate = 5 * sd->status.base_level / 30;
    if( rnd()%100 < rate )
        skill_castend_damage_id(src, bl, SU_SV_STEM_SPEAR, pc_checkskill(sd, SU_SV_STEM_SPEAR), tick, 1); 
    break;
 

 

The problem is that it produces inaccurate results as I'm dividing the base level and then multiplying by 5.

For example a level 166 DoRam, would cast a second time at 27%, whilst it should double-cast at 25% chance since every 30 level the chance is increased rather than "every level/30".
 

So I thought that "counting" the times the base level of the DoRam is divided by 30 should suffice, for example:

 

case SU_SV_STEM_SPEAR:
    for (int number = 1; number <=sd->status.base_level; number ++) {
        if (number%30 == 0){
            count++;
        }
    }
    int rate= 5*count.
    if( rnd()%100 < rate )
        skill_castend_damage_id(src, bl, SU_SV_STEM_SPEAR, pc_checkskill(sd, SU_SV_STEM_SPEAR), tick, 1); 
    break;

It seems a little lengthy for me, but in theory, it should return more accurate results from this one. What do you think?

Share this post


Link to post
Share on other sites

You got it all wrong. According to the skill desc on those double cast skills....

 

If use skill when base level is 30 or higher, Has a chance to activate one more attack. Each level beyond 30 increase a chance to activate additional attack.

 

The chance of it double casting appears once you reach level 30 and go up by chance with each level after.

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   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.