Code:
uint32 Mob::GetLevelCon(uint8 mylevel, uint8 iOtherLevel) {
int16 diff = iOtherLevel - mylevel;
uint32 conlevel = 0;
if (diff == 0)
return CON_WHITE;
else if (diff >= 1 && diff <= 3)
return CON_YELLOW;
else if (diff >= 4)
return CON_RED;
if (mylevel >= 58) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -15) {
conlevel = CON_LIGHTBLUE;
}
else if(diff >= -20) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
if (mylevel == 57) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -15) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -19) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 55) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -14) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -19) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 53) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -14) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -18) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel == 52) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -13) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -18) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 49) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -13) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -17) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 47) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -12) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -16) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel == 46) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -11) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -16) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel == 45) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -12) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -15) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 43) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -11) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -15) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 41) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -11) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -14) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel == 40) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -10) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -14) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 37) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -10) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -13) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 34) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -9) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -12) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 33) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -9) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -11) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 31) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -8) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -11) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel == 30) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -8) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -10) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel == 29) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -8) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -10) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel == 28) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -7) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -10) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 25) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -7) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -9) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 22) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff == -6) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -8) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 21) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff == -6) {
conlevel = CON_LIGHTBLUE;
}
else if (diff == -7) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 16) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -7) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel <= 15) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else {
return CON_GRAY;
}
}