[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,83 +1796,90 @@ 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){ {
printf("Error in Client::IncStats, received invalid type of: %i\n",type); if (type > STAT_DISEASE) {
printf("Error in Client::IncStats, received invalid type of: %i\n", type);
return; return;
} }
auto outapp = new EQApplicationPacket(OP_IncreaseStats, sizeof(IncreaseStat_Struct)); auto outapp = new EQApplicationPacket(OP_IncreaseStats, sizeof(IncreaseStat_Struct));
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);