Moved the random code to a function (cSheep::GenerateNaturalRandomColor())
This commit is contained in:
parent
20b32fc44e
commit
c3cde6232f
@ -20,40 +20,13 @@ cSheep::cSheep(int a_Color) :
|
|||||||
// Generate random wool color.
|
// Generate random wool color.
|
||||||
if (m_WoolColor == -1)
|
if (m_WoolColor == -1)
|
||||||
{
|
{
|
||||||
cFastRandom Random;
|
m_WoolColor = GenerateNaturalRandomColor();
|
||||||
int Chance = Random.NextInt(101);
|
}
|
||||||
|
|
||||||
if (Chance <= 81)
|
if ((m_WoolColor < 0) || (m_WoolColor > 15))
|
||||||
{
|
{
|
||||||
// White
|
|
||||||
m_WoolColor = 0;
|
m_WoolColor = 0;
|
||||||
}
|
}
|
||||||
else if (Chance <= 86)
|
|
||||||
{
|
|
||||||
// Black
|
|
||||||
m_WoolColor = 15;
|
|
||||||
}
|
|
||||||
else if (Chance <= 91)
|
|
||||||
{
|
|
||||||
// Grey
|
|
||||||
m_WoolColor = 7;
|
|
||||||
}
|
|
||||||
else if (Chance <= 96)
|
|
||||||
{
|
|
||||||
// Light grey
|
|
||||||
m_WoolColor = 8;
|
|
||||||
}
|
|
||||||
else if (Chance <= 99)
|
|
||||||
{
|
|
||||||
// Brown
|
|
||||||
m_WoolColor = 12;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Pink
|
|
||||||
m_WoolColor = 6;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -148,3 +121,38 @@ void cSheep::Tick(float a_Dt, cChunk & a_Chunk)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
NIBBLETYPE cSheep::GenerateNaturalRandomColor(void)
|
||||||
|
{
|
||||||
|
cFastRandom Random;
|
||||||
|
int Chance = Random.NextInt(101);
|
||||||
|
|
||||||
|
if (Chance <= 81)
|
||||||
|
{
|
||||||
|
return E_META_WOOL_WHITE;
|
||||||
|
}
|
||||||
|
else if (Chance <= 86)
|
||||||
|
{
|
||||||
|
return E_META_WOOL_BLACK;
|
||||||
|
}
|
||||||
|
else if (Chance <= 91)
|
||||||
|
{
|
||||||
|
return E_META_WOOL_GRAY;
|
||||||
|
}
|
||||||
|
else if (Chance <= 96)
|
||||||
|
{
|
||||||
|
return E_META_WOOL_LIGHTGRAY;
|
||||||
|
}
|
||||||
|
else if (Chance <= 99)
|
||||||
|
{
|
||||||
|
return E_META_WOOL_BROWN;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return E_META_WOOL_PINK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -13,6 +13,8 @@ class cSheep :
|
|||||||
typedef cPassiveMonster super;
|
typedef cPassiveMonster super;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
/** Use -1 for random color. */
|
||||||
cSheep(int a_Color = -1);
|
cSheep(int a_Color = -1);
|
||||||
|
|
||||||
CLASS_PROTODEF(cSheep);
|
CLASS_PROTODEF(cSheep);
|
||||||
@ -23,14 +25,15 @@ public:
|
|||||||
|
|
||||||
virtual const cItem GetFollowedItem(void) const override { return cItem(E_ITEM_WHEAT); }
|
virtual const cItem GetFollowedItem(void) const override { return cItem(E_ITEM_WHEAT); }
|
||||||
|
|
||||||
|
static NIBBLETYPE GenerateNaturalRandomColor(void);
|
||||||
|
|
||||||
bool IsSheared(void) const { return m_IsSheared; }
|
bool IsSheared(void) const { return m_IsSheared; }
|
||||||
void SetSheared(bool a_IsSheared) { m_IsSheared = a_IsSheared; }
|
void SetSheared(bool a_IsSheared) { m_IsSheared = a_IsSheared; }
|
||||||
|
|
||||||
int GetFurColor(void) const { return m_WoolColor; }
|
int GetFurColor(void) const { return m_WoolColor; }
|
||||||
void SetFurColor(bool a_WoolColor) { m_WoolColor = a_WoolColor; }
|
void SetFurColor(int a_WoolColor) { m_WoolColor = a_WoolColor; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
bool m_IsSheared;
|
bool m_IsSheared;
|
||||||
int m_WoolColor;
|
int m_WoolColor;
|
||||||
int m_TimeToStopEating;
|
int m_TimeToStopEating;
|
||||||
|
Loading…
Reference in New Issue
Block a user