Jump to content
  • 0

how to increase the chance of status?


Dissidia

Question


  • Group:  Members
  • Topic Count:  155
  • Topics Per Day:  0.03
  • Content Count:  535
  • Reputation:   23
  • Joined:  11/19/11
  • Last Seen:  

example:

high chance to freeze, bleeding, poison or stune to the enemy. but the enemy stats is all 500.

 

it is possible? thanks in advance?

 

what do i need to change here?

    switch (type) {
        case SC_STUN:
        case SC_POISON:
            if (sc && sc->data[sC__UNLUCKY])
                return tick;
        case SC_DPOISON:
        case SC_SILENCE:
        case SC_BLEEDING:
            sc_def = 3 +status->vit;
            break;
        case SC_SLEEP:
            sc_def = 3 +status->int_;
            break;
        case SC_DEEPSLEEP:
            tick_def = status->int_ / 10 + status_get_lv(bl) * 65 / 1000; // Seems to be -1 sec every 10 int and -5% chance every 10 int.
            sc_def = 5 * status->int_ /10;
            break;
        case SC_DECREASEAGI:
            if (sd) tick>>=1; //Half duration for players.
        case SC_STONE:
        case SC_FREEZE:
            sc_def = 3 +status->mdef;
            break;
        case SC_CURSE:
            //Special property: inmunity when luk is greater than level or zero
            if (status->luk > status_get_lv(bl) || status->luk == 0)
                return 0;
            else
                sc_def = 3 +status->luk;
            tick_def = status->vit;
            break;
        case SC_BLIND:
            if (sc && sc->data[sC__UNLUCKY])
                return tick;
            sc_def = 3 +(status->vit + status->int_)/2;
            break;
        case SC_CONFUSION:
            sc_def = 3 +(status->str + status->int_)/2;
            break;

 

 

 

Link to comment
Share on other sites

3 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  737
  • Reputation:   216
  • Joined:  11/29/11
  • Last Seen:  

Those are where you calculate the resist. You can reduce the resist wich increase the chance or you could alter variable "rate".

But status change are really define when there being used like :

 

in skill_additional_effect::

case MG_FROSTDIVER:
 if(!sc_start(src,bl,SC_FREEZE,skill_lv*3+35,skill_lv,skill_get_time2(skill_id,skill_lv)) && sd)
    clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
 
In english mean
When dammage>0 (mean we will enter skill_additional_effect) if the skill used was MG_FROSTDIVER
Try to inflict SC_FREEZE with skill_lv*3+35 % chance.
If it fail display an erorr message.
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  155
  • Topics Per Day:  0.03
  • Content Count:  535
  • Reputation:   23
  • Joined:  11/19/11
  • Last Seen:  

but it always failed to frost. because my players has a high stats. i want to divide the SC_ up there, but i dont know if it work.

 

ex:  sc_def = 3 +(status->int_/3);

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  58
  • Reputation:   6
  • Joined:  06/16/13
  • Last Seen:  

try to edit on conf/battle/status.conf.

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