mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-17 03:08:26 +00:00
SoF-era con system. New rule, UseOldConSystem to disable this functionality.
This commit is contained in:
committed by
Michael Cook (mackal)
parent
989a638693
commit
cb8c3595b7
+201
-152
@@ -2032,166 +2032,215 @@ void Mob::AreaRampage(ExtraAttackOptions *opts)
|
||||
}
|
||||
|
||||
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 <= 2)
|
||||
return CON_YELLOW;
|
||||
else if (diff >= 3)
|
||||
return CON_RED;
|
||||
uint32 conlevel = 0;
|
||||
|
||||
if (mylevel <= 8)
|
||||
if (RuleB(Character, UseOldConSystem))
|
||||
{
|
||||
if (diff <= -4)
|
||||
conlevel = CON_GREEN;
|
||||
int16 diff = iOtherLevel - mylevel;
|
||||
|
||||
if (diff == 0)
|
||||
return CON_WHITE;
|
||||
else if (diff >= 1 && diff <= 2)
|
||||
return CON_YELLOW;
|
||||
else if (diff >= 3)
|
||||
return CON_RED;
|
||||
|
||||
if (mylevel <= 8)
|
||||
{
|
||||
if (diff <= -4)
|
||||
conlevel = CON_GRAY;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 9)
|
||||
{
|
||||
if (diff <= -6)
|
||||
conlevel = CON_GRAY;
|
||||
else if (diff <= -4)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 13)
|
||||
{
|
||||
if (diff <= -7)
|
||||
conlevel = CON_GRAY;
|
||||
else if (diff <= -5)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 15)
|
||||
{
|
||||
if (diff <= -7)
|
||||
conlevel = CON_GRAY;
|
||||
else if (diff <= -5)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 17)
|
||||
{
|
||||
if (diff <= -8)
|
||||
conlevel = CON_GRAY;
|
||||
else if (diff <= -6)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 21)
|
||||
{
|
||||
if (diff <= -9)
|
||||
conlevel = CON_GRAY;
|
||||
else if (diff <= -7)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 25)
|
||||
{
|
||||
if (diff <= -10)
|
||||
conlevel = CON_GRAY;
|
||||
else if (diff <= -8)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 29)
|
||||
{
|
||||
if (diff <= -11)
|
||||
conlevel = CON_GRAY;
|
||||
else if (diff <= -9)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 31)
|
||||
{
|
||||
if (diff <= -12)
|
||||
conlevel = CON_GRAY;
|
||||
else if (diff <= -9)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 33)
|
||||
{
|
||||
if (diff <= -13)
|
||||
conlevel = CON_GRAY;
|
||||
else if (diff <= -10)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 37)
|
||||
{
|
||||
if (diff <= -14)
|
||||
conlevel = CON_GRAY;
|
||||
else if (diff <= -11)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 41)
|
||||
{
|
||||
if (diff <= -16)
|
||||
conlevel = CON_GRAY;
|
||||
else if (diff <= -12)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 45)
|
||||
{
|
||||
if (diff <= -17)
|
||||
conlevel = CON_GRAY;
|
||||
else if (diff <= -13)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 49)
|
||||
{
|
||||
if (diff <= -18)
|
||||
conlevel = CON_GRAY;
|
||||
else if (diff <= -14)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 53)
|
||||
{
|
||||
if (diff <= -19)
|
||||
conlevel = CON_GRAY;
|
||||
else if (diff <= -15)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 55)
|
||||
{
|
||||
if (diff <= -20)
|
||||
conlevel = CON_GRAY;
|
||||
else if (diff <= -15)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 9)
|
||||
{
|
||||
if (diff <= -6)
|
||||
conlevel = CON_GREEN;
|
||||
else if (diff <= -4)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 13)
|
||||
{
|
||||
if (diff <= -7)
|
||||
conlevel = CON_GREEN;
|
||||
else if (diff <= -5)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 15)
|
||||
{
|
||||
if (diff <= -7)
|
||||
conlevel = CON_GREEN;
|
||||
else if (diff <= -5)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 17)
|
||||
{
|
||||
if (diff <= -8)
|
||||
conlevel = CON_GREEN;
|
||||
else if (diff <= -6)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 21)
|
||||
{
|
||||
if (diff <= -9)
|
||||
conlevel = CON_GREEN;
|
||||
else if (diff <= -7)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 25)
|
||||
{
|
||||
if (diff <= -10)
|
||||
conlevel = CON_GREEN;
|
||||
else if (diff <= -8)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 29)
|
||||
{
|
||||
if (diff <= -11)
|
||||
conlevel = CON_GREEN;
|
||||
else if (diff <= -9)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 31)
|
||||
{
|
||||
if (diff <= -12)
|
||||
conlevel = CON_GREEN;
|
||||
else if (diff <= -9)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 33)
|
||||
{
|
||||
if (diff <= -13)
|
||||
conlevel = CON_GREEN;
|
||||
else if (diff <= -10)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 37)
|
||||
{
|
||||
if (diff <= -14)
|
||||
conlevel = CON_GREEN;
|
||||
else if (diff <= -11)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 41)
|
||||
{
|
||||
if (diff <= -16)
|
||||
conlevel = CON_GREEN;
|
||||
else if (diff <= -12)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 45)
|
||||
{
|
||||
if (diff <= -17)
|
||||
conlevel = CON_GREEN;
|
||||
else if (diff <= -13)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 49)
|
||||
{
|
||||
if (diff <= -18)
|
||||
conlevel = CON_GREEN;
|
||||
else if (diff <= -14)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 53)
|
||||
{
|
||||
if (diff <= -19)
|
||||
conlevel = CON_GREEN;
|
||||
else if (diff <= -15)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else if (mylevel <= 55)
|
||||
{
|
||||
if (diff <= -20)
|
||||
conlevel = CON_GREEN;
|
||||
else if (diff <= -15)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
{
|
||||
if (diff <= -21)
|
||||
else if (diff <= -16)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (diff <= -21)
|
||||
conlevel = CON_GREEN;
|
||||
else if (diff <= -16)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
int16 diff = iOtherLevel - mylevel;
|
||||
uint32 conGrayLvl = mylevel - (int32)((mylevel + 5) / 3);
|
||||
uint32 conGreenLvl = mylevel - (int32)((mylevel + 7) / 4);
|
||||
|
||||
if (diff == 0)
|
||||
return CON_WHITE;
|
||||
else if (diff >= 1 && diff <= 3)
|
||||
return CON_YELLOW;
|
||||
else if (diff >= 4)
|
||||
return CON_RED;
|
||||
|
||||
if (mylevel <= 15)
|
||||
{
|
||||
if (diff <= -6)
|
||||
conlevel = CON_GRAY;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
if (mylevel <= 20)
|
||||
{
|
||||
if (iOtherLevel <= conGrayLvl)
|
||||
conlevel = CON_GRAY;
|
||||
else
|
||||
if (iOtherLevel <= conGreenLvl)
|
||||
conlevel = CON_GREEN;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (iOtherLevel <= conGrayLvl)
|
||||
conlevel = CON_GRAY;
|
||||
else
|
||||
if (iOtherLevel <= conGreenLvl)
|
||||
conlevel = CON_GREEN;
|
||||
else
|
||||
if (diff <= -6)
|
||||
conlevel = CON_LIGHTBLUE;
|
||||
else
|
||||
conlevel = CON_BLUE;
|
||||
}
|
||||
}
|
||||
return conlevel;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user