feanor
Posts: 624
|
Quote:hippocamus, feanor, Противоречите друг другу, один говорит что не более 100 ,другой что можно любые цифры ставить.
Во-первых, есть два вида источников, я и неправильные. Во-вторых, меньше слушай, больше пробуй и думай.
Если в оригинале сумма 107, как там может быть "не больше ста", алё.
Указанные в текстовике баллы суммируются, по ним методом рулетки выбирается нужный навык.
Ида выдала лапшу вместо кода, но в целом понятно
Code:
if ( v12 <= 0 )
{
LABEL_49:
v5 = v27;
LABEL_50:
v20 = 0;
v19 = 0;
while ( 1 )
{
v21 = v5->SSkill[v19];
if ( v21 >= maxSkillLev || v21 < v29 || v19 == SkipSkill )
goto LABEL_59;
if ( v28[v19] )
break;
v22 = v26->ProbSSkill[v19];
if ( !v26->ProbSSkill[v19] )
goto LABEL_56;
LABEL_58:
v20 += v22;
LABEL_59:
++v19;
if ( v19 >= 28 )
{
if ( v20 )
{
v23 = Random(1, v20); //рандом не по фиксированному числу, а по вычисленной сумме!
result = 0;
while ( 1 )
{
v24 = v5->SSkill[result];
if ( v24 < maxSkillLev )
{
if ( v24 >= v29 && result != SkipSkill )
break;
}
LABEL_73:
++result;
if ( result >= 28 )
return -1;
}
if ( !v28[result] )
{
v25 = v26->ProbSSkill[result];
if ( !v26->ProbSSkill[result] )
{
LABEL_70:
if ( v5->SSkill[result] > 0 )
v25 = 1;
}
v23 -= v25;
if ( v23 <= 0 )
return result;
goto LABEL_73;
}
v25 = 0;
goto LABEL_70;
}
return -1;
}
}
v22 = 0;
LABEL_56:
if ( v5->SSkill[v19] > 0 )
v22 = 1;
goto LABEL_58;
}
Т.е. достаточно поднимать баллы в нужной колонке, и шанс увеличится. Если стремаешься - ну, подними на пару баллов нужную магию, и ту же пару баллов убери у какого-нибудь орлоглаза или первой помощи.
(This post was last modified: 25.03.2019 14:44 by feanor.)
|
|
25.03.2019 13:31 |
|