Maximum bónusz érték c++

Indította Nexus™, 2017-07-27, 10:07:07

2017-07-27, 10:07:07 Utolsó szerkesztés: 2017-07-27, 10:12:49 Szerző: Nexus™
Üdv. Valaki megtudná mondani forrásban hogy tudom lekorlátozni hogy például a "Védekezési esély harcos támadás ellen" 70% legyen. Úgy értem hogy minden cuccba teszel ugye és össze számolod lenne például 90, de a szerver csak 70-ig engedi hiába van a cuccaidba több.

Köszi előre is.

Találtam valamit, a battle.cpp-ben, de nem vagyok benne biztos hogy ez az.
Szerintetek?

else if (pkVictim->IsPC())
{
iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_HUMAN)) / 100;

switch (pkVictim->GetJob())
{
case JOB_WARRIOR:
iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_WARRIOR)) / 100;
break;

case JOB_ASSASSIN:
iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_ASSASSIN)) / 100;
break;

case JOB_SURA:
iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_SURA)) / 100;
break;

case JOB_SHAMAN:
iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_SHAMAN)) / 100;
break;
}
Az élet olyan mint egy pohár stampó, sok van belÅ'le de sohasem elég!

Én eleve leszűkíteném, hogy a Point ne mehessen X érték fölé, nem csak támadáskor számoltatnám másképp a szerverrel.
char.cpp:
case POINT_ATTBONUS_WARRIOR:
pár case-el alatta:
SetPoint(type, GetPoint(type) + amount);
val = GetPoint(type);
break;

Valahogy így módosítanám:
if (54 <= type && type <= 57 && (GetPoint(type) + amount >= 70))
{
SetPoint(type, 70);
}
else
{
SetPoint(type, GetPoint(type) + amount);
}
val = GetPoint(type);
break;

Aztán ha a védelmeket is akarod akkor még 1 kicsivel lejjebb:
case POINT_RESIST_WARRIOR :
case POINT_RESIST_ASSASSIN :
case POINT_RESIST_SURA :
case POINT_RESIST_SHAMAN :

SetPoint(type, GetPoint(type) + amount);
val = GetPoint(type);
break;