[Cleanup] Fix always false conditions in Client::IncStats() (#3256)

# Notes
- Value can never be less than `0` as it's unsigned.
This commit is contained in:
Alex King 2023-04-05 10:12:32 -04:00 committed by GitHub
parent c1698a5bdd
commit d33cfad567
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1796,7 +1796,8 @@ void Client::SetStats(uint8 type,int16 set_val){
safe_delete(outapp); safe_delete(outapp);
} }
void Client::IncStats(uint8 type,int16 increase_val){ void Client::IncStats(uint8 type, int16 increase_val)
{
if (type > STAT_DISEASE) { if (type > STAT_DISEASE) {
printf("Error in Client::IncStats, received invalid type of: %i\n", type); printf("Error in Client::IncStats, received invalid type of: %i\n", type);
return; return;
@ -1805,74 +1806,80 @@ void Client::IncStats(uint8 type,int16 increase_val){
IncreaseStat_Struct *iss = (IncreaseStat_Struct *) outapp->pBuffer; IncreaseStat_Struct *iss = (IncreaseStat_Struct *) outapp->pBuffer;
switch (type) { switch (type) {
case STAT_STR: case STAT_STR:
if(increase_val>0) if (increase_val > 0) {
iss->str = increase_val; iss->str = increase_val;
if((m_pp.STR+increase_val*2)<0) }
m_pp.STR=0;
else if((m_pp.STR+increase_val*2)>255) if ((m_pp.STR + increase_val * 2) > 255) {
m_pp.STR = 255; m_pp.STR = 255;
else } else {
m_pp.STR += increase_val * 2; m_pp.STR += increase_val * 2;
}
break; break;
case STAT_STA: case STAT_STA:
if(increase_val>0) if (increase_val > 0) {
iss->sta = increase_val; iss->sta = increase_val;
if((m_pp.STA+increase_val*2)<0) }
m_pp.STA=0;
else if((m_pp.STA+increase_val*2)>255) if ((m_pp.STA + increase_val * 2) > 255) {
m_pp.STA = 255; m_pp.STA = 255;
else } else {
m_pp.STA += increase_val * 2; m_pp.STA += increase_val * 2;
}
break; break;
case STAT_AGI: case STAT_AGI:
if(increase_val>0) if (increase_val > 0) {
iss->agi = increase_val; iss->agi = increase_val;
if((m_pp.AGI+increase_val*2)<0) }
m_pp.AGI=0; if ((m_pp.AGI + increase_val * 2) > 255) {
else if((m_pp.AGI+increase_val*2)>255)
m_pp.AGI = 255; m_pp.AGI = 255;
else } else {
m_pp.AGI += increase_val * 2; m_pp.AGI += increase_val * 2;
}
break; break;
case STAT_DEX: case STAT_DEX:
if(increase_val>0) if (increase_val > 0) {
iss->dex = increase_val; iss->dex = increase_val;
if((m_pp.DEX+increase_val*2)<0) }
m_pp.DEX=0;
else if((m_pp.DEX+increase_val*2)>255) if ((m_pp.DEX + increase_val * 2) > 255) {
m_pp.DEX = 255; m_pp.DEX = 255;
else } else {
m_pp.DEX += increase_val * 2; m_pp.DEX += increase_val * 2;
}
break; break;
case STAT_INT: case STAT_INT:
if(increase_val>0) if (increase_val > 0) {
iss->int_ = increase_val; iss->int_ = increase_val;
if((m_pp.INT+increase_val*2)<0) }
m_pp.INT=0;
else if((m_pp.INT+increase_val*2)>255) if ((m_pp.INT + increase_val * 2) > 255) {
m_pp.INT = 255; m_pp.INT = 255;
else } else {
m_pp.INT += increase_val * 2; m_pp.INT += increase_val * 2;
}
break; break;
case STAT_WIS: case STAT_WIS:
if(increase_val>0) if (increase_val > 0) {
iss->wis = increase_val; iss->wis = increase_val;
if((m_pp.WIS+increase_val*2)<0) }
m_pp.WIS=0;
else if((m_pp.WIS+increase_val*2)>255) if ((m_pp.WIS + increase_val * 2) > 255) {
m_pp.WIS = 255; m_pp.WIS = 255;
else } else {
m_pp.WIS += increase_val * 2; m_pp.WIS += increase_val * 2;
}
break; break;
case STAT_CHA: case STAT_CHA:
if(increase_val>0) if (increase_val > 0) {
iss->cha = increase_val; iss->cha = increase_val;
if((m_pp.CHA+increase_val*2)<0) }
m_pp.CHA=0;
else if((m_pp.CHA+increase_val*2)>255) if ((m_pp.CHA + increase_val * 2) > 255) {
m_pp.CHA = 255; m_pp.CHA = 255;
else } else {
m_pp.CHA += increase_val * 2; m_pp.CHA += increase_val * 2;
}
break; break;
} }
QueuePacket(outapp); QueuePacket(outapp);