Hi, Wanted to report something that's bugging me
. I am using ver. 06.00.30.
Every Daughter I have from a "Normal" Girl I bought from the Slave Merchant Ended up having "Not Human" Trait or just become any "Catacomb" girls. Is the player a demon Lord or what? ![Smiley :)](https://www.pinkpetal.org/Smileys/DarkB/smiley.gif)
Yeah, I saw this too... I found a solution if you download the working files to compile them yourself. It's in cGirls.cpp under the child_is_grown procedure. There is a line, bolded below, that sets allows non-humans, AllowNonHuman, and it appears to be improperly set. It appears to set this value to true if the mother is human. Instead of messing with that value; I just changed, bolded again, the value AllowNonHuman to !AllowNonHuman. This flips the incorrectly assigned value to its logical opposite. This will give you proper human children!
bool cGirls::child_is_grown(sGirl* mom, sChild *child, string& summary, bool PlayerControlled)
{
string playersurname = ""; // `J` since this is not changeable yet, leaving it blank.
cConfig cfg;
cTariff tariff;
stringstream ss;
// bump the age - if it's still not grown, go home
child->m_Age++; if (child->m_Age < cfg.pregnancy.weeks_till_grown()) return false;
// we need a coming of age ceremony
if (child->is_boy())
{
summary += gettext("A son grew of age. ");
mom->m_States |= (1 << STATUS_HAS_SON);
if (PlayerControlled) // get the going rate for a male slave and sell the poor sod
{
int gold = tariff.male_slave_sales();
g_Gold.slave_sales(gold);
ss << gettext("Her son has grown of age and has been sold into slavery.\n");
ss << gettext("You make ") << gold << gettext(" gold selling the boy.\n");
}
else // or send him on his way
{
int roll = g_Dice % 4;
ss << "Her son has grown of age and ";
if (roll == 0) ss << "moved away";
else if (roll == 1) ss << "joined the army";
else ss << "got his own place in town";
ss << gettext(".\n");
}
mom->m_Events.AddMessage(ss.str(), IMGTYPE_PROFILE, EVENT_GOODNEWS);
return true;
}
bool playerfather = child->m_IsPlayers; // is 1 if father is player
summary += gettext("A daughter grew of age. ");
mom->m_States |= (1 << STATUS_HAS_DAUGHTER);
bool slave = mom->is_slave();
bool AllowNonHuman = mom->is_human();
// create a new girl for the barn
sGirl* sprog = 0;
if (mom->m_Canonical_Daughters.size() > 0)
{
sprog = make_girl_child(mom, playerfather);
}
else
{
sprog = g_Girls.CreateRandomGirl(17, false, slave, false,
!AllowNonHuman, false, false, playerfather);
}
// check for incest, get the odds on abnormality
int abnormal_pc = calc_abnormal_pc(mom, sprog, child->m_IsPlayers);
if (g_Dice.percent(abnormal_pc))
{
if (g_Dice.percent(50)) g_Girls.AddTrait(sprog, "Malformed");
else g_Girls.AddTrait(sprog, "Retarded");
}
// loop throught the mom's traits, inheriting where appropriate
for (int i = 0; i < mom->m_NumTraits && sprog->m_NumTraits < 30; i++)
{
if (mom->m_Traits
)
{
string tname = mom->m_Traits->m_Name;
if (g_Girls.InheritTrait(mom->m_Traits) && tname != "")
g_Girls.AddTrait(sprog, mom->m_Traits->m_Name);
}
}
if (playerfather)
{
g_Girls.AddTrait(sprog, "Your Daughter");
}