ALMaSS Skylark ODDox
1.1
The skylark model description following ODdox protocol
|
#include <skylarks_all.h>
|
| Skylark_Female (int x, int y, double size, int age, SkTerritories *Terrs, Landscape *L, Skylark_Population_Manager *SPM, int bx, int by, int mh) |
|
virtual void | ReInit (int x, int y, double size, int age, SkTerritories *Terrs, Landscape *L, Skylark_Population_Manager *SPM, int bx, int by, int mh) |
|
virtual void | BeginStep (void) |
| BeingStep behaviour - must be implemented in descendent classes. More...
|
|
virtual void | Step (void) |
| Step behaviour - must be implemented in descendent classes. More...
|
|
virtual void | EndStep (void) |
| EndStep behaviour - must be implemented in descendent classes. More...
|
|
void | EstablishTerritory () |
|
int | Supply_NestTime () |
|
Skylark_Clutch * | SupplyMyClutch () |
|
int | Supply_BreedingAttempts () |
|
int | Supply_BreedingSuccess () |
|
void | ResetBreedingSuccess () |
|
void | OnSetMyClutch (Skylark_Clutch *p_C) |
|
void | OnEggsHatch () |
|
void | OnClutchDeath () |
|
void | OnBroodDeath () |
|
void | OnBreedingSuccess () |
|
void | OnStopFeedingChicks () |
|
void | OnMateDying () |
|
void | OnMateHomeless () |
|
void | OnMaleNeverComesBack (Skylark_Male *AMale) |
|
void | OnBreedSuccess () |
|
void | SensibleCopy () |
|
| Skylark_Adult (int x, int y, double size, int age, SkTerritories *Terrs, Landscape *L, Skylark_Population_Manager *SPM, int bx, int by, int mh) |
|
virtual | ~Skylark_Adult () |
|
virtual void | CopyMyself (int a_sktype) |
|
| Skylark_Base (int x, int y, SkTerritories *Terrs, Landscape *L, Skylark_Population_Manager *SPM, int bx, int by, int mh) |
|
virtual void | ReInit (int x, int y, SkTerritories *Terrs, Landscape *L, Skylark_Population_Manager *SPM, int bx, int by, int mh) |
|
virtual double | On_FoodSupply (double) |
|
void | AddStriglingMort (int lifestage) |
|
virtual int | WhatState () |
|
bool | InSquare (rectangle R) |
|
unsigned | SupplyFarmOwnerRef () |
|
AnimalPosition | SupplyPosition () |
|
APoint | SupplyPoint () |
|
int | SupplyPolygonRef () |
|
int | Supply_m_Location_x () |
|
int | Supply_m_Location_y () |
|
virtual void | KillThis () |
|
virtual void | CopyMyself () |
|
void | SetX (int a_x) |
|
void | SetY (int a_y) |
|
| TAnimal (int x, int y, Landscape *L) |
|
virtual void | ReinitialiseObject (int x, int y, Landscape *L) |
| Used to re-use an object - must be implemented in descendent classes. More...
|
|
virtual void | Dying () |
|
void | CheckManagement (void) |
|
void | CheckManagementXY (int x, int y) |
|
int | GetCurrentStateNo () |
| Returns the current state number. More...
|
|
void | SetCurrentStateNo (int a_num) |
| Sets the current state number. More...
|
|
bool | GetStepDone () |
| Returns the step done indicator flag. More...
|
|
void | SetStepDone (bool a_bool) |
| Sets the step done indicator flag. More...
|
|
virtual void | ReinitialiseObject () |
| Used to re-use an object - must be implemented in descendent classes. More...
|
|
| TALMaSSObject () |
| The constructor for TALMaSSObject. More...
|
|
virtual | ~TALMaSSObject () |
| The destructor for TALMaSSObject. More...
|
|
void | OnArrayBoundsError () |
| Used for debugging only, tests basic object properties. More...
|
|
◆ Skylark_Female()
5201 :
Skylark_Adult(x, y, size, age, Terrs, L, SPM, bx, by, mh) {
References m_BreedingAttempts, m_MinFemaleAcceptScore, MyClutch, MyMate, and ResetBreedingSuccess().
◆ BeginStep()
void Skylark_Female::BeginStep |
( |
void |
| ) |
|
|
virtual |
BeingStep behaviour - must be implemented in descendent classes.
Reimplemented from TAnimal.
5427 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
References TAnimal::CheckManagement(), Skylark_Base::m_CurrentSkState, m_MinFemaleAcceptScore, TALMaSSObject::m_StepDone, st_CaringForYoung(), st_Floating(), toss_Destroy, toss_FCaringForYoung, toss_FFindingTerritory, toss_FFloating, toss_FFlocking, toss_FTempLeavingArea, toss_StartingNewBrood, and toss_StoppingBreeding.
◆ CalcFoodTime()
int Skylark_Female::CalcFoodTime |
( |
double |
target | ) |
|
|
protected |
6712 g_msg->Warn( WARN_BUG,
"Skylark_Female::CalcFoodTime(): No Mate!",
"" );
6718 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
6721 double FoodGathered = 0.0;
6727 while ( ( FoodGathered < target ) && ( used < MyMate->SupplyNoHabitatRefs() ) ) {
6731 if ( available < ( target - FoodGathered ) ) {
6732 FoodGathered += available;
6741 FoodTime += ( int )floor( 0.5 + ( target - FoodGathered ) / FoodPerMin );
References Skylark_Male::m_HabitatTable_Size, Skylark_Male::m_InsectTable, Skylark_Adult::MyExtractEff, and MyMate.
Referenced by st_Incubating().
◆ CalculateEggNumber()
int Skylark_Female::CalculateEggNumber |
( |
| ) |
|
|
protected |
6685 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
6692 chance = random( 160 );
6693 if ( chance < 9 ) eggs = 2;
else if ( chance < 37 + 9 ) eggs = 3;
else if ( chance < 99 + 37 + 9 ) eggs = 4;
else
6697 chance = random( 125 );
6698 if ( chance < 29 ) eggs = 3;
else if ( chance < 29 + 80 ) eggs = 4;
else
6702 if ( eggs < 1 ) eggs = 1;
References m_BreedingAttempts.
Referenced by st_Laying().
◆ CheckForFields()
double Skylark_Female::CheckForFields |
( |
| ) |
|
|
protected |
6769 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
6774 int TallFieldVeg = 0;
References Landscape::CorrectCoords(), TAnimal::m_OurLandscape, Skylark_Adult::MyTerritory, skTerritory_struct::size, Landscape::SupplyElementType(), Landscape::SupplyPolyRef(), Landscape::SupplyVegHeight(), tole_Field, tole_UnsprayedFieldMargin, skTerritory_struct::x, and skTerritory_struct::y.
◆ EndStep()
void Skylark_Female::EndStep |
( |
void |
| ) |
|
|
virtual |
EndStep behaviour - must be implemented in descendent classes.
Reimplemented from TAnimal.
5654 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
5657 #ifdef __PESTICIDE_RA
References PesticideResponse().
◆ EstablishTerritory()
void Skylark_Female::EstablishTerritory |
( |
| ) |
|
5927 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
References Skylark_Adult::BSuccess, SkTerritories::FemaleOccupy(), TAnimal::m_Location_x, TAnimal::m_Location_y, Skylark_Base::m_OurPopulationManager, Skylark_Base::m_OurTerritories, MyMate, Skylark_Adult::MyTerritory, Skylark_Male::OnPairing(), Skylark_Adult::Paired, skTerritory_struct::ref, Resources, Population_Manager::SimH, Population_Manager::SimW, skTerritory_struct::size, Skylark_Male::Supply_Territory(), skTerritory_struct::x, and skTerritory_struct::y.
Referenced by Skylark_Male::OnReHouse(), and st_Finding_Territory().
◆ FeedYoung()
void Skylark_Female::FeedYoung |
( |
| ) |
|
|
protected |
Can only get food in daylight - dawn & dusk. Must keep them warm if the weather is bad - the quick version below catagorizes this into good or bad weather
6544 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
6557 int FeedingProbs[ 16 ];
6558 double ChickFood[ 16 ];
6559 #ifdef __PESTICIDE_RA_CHICK
6560 double ChickPoison[ 16 ];
6563 double resources_all =
GetFood( food_time );
6565 double resources =
RemoveEM( resources_all );
6566 int HungryChicks = BrSize;
6567 if ( resources > 0 ) {
6569 for (
int i = 0; i < HungryChicks; i++ ) {
6570 FeedingProbs[ i ] = 0;
6572 #ifdef __PESTICIDE_RA_CHICK
6573 ChickPoison[ i ] = 0;
6579 int BroodWeight = 0;
6580 for (
int i = 0; i < HungryChicks; i++ ) {
6583 BroodWeight += weight;
6585 for (
int j = i; j < HungryChicks; j++ ) FeedingProbs[ j ] += (
int )floor( 0.5 + weight );
6588 resources -= pow( BroodWeight, 0.613 ) * 0.0719 * double( 35 - TempToday );
6593 #ifdef __PESTICIDE_RA_CHICK
6596 while ( ( resources > 0.01 ) && ( HungryChicks > 0 ) )
6599 int choose = random( BroodWeight );
6600 for (
int i = 0; i < BrSize; i++ ) {
6601 if ( choose < FeedingProbs[ i ] ) {
6602 ChickFood[ i ] += resources;
6603 #ifdef __PESTICIDE_RA_CHICK
6604 ChickPoison[ i ] += pcide_remain;
6614 for (
int i = 0; i < BrSize; i++ ) {
6615 #ifdef __PESTICIDE_RA_CHICK
6622 FeedingProbs[ i ] = -1;
References FoodTripsPerDay, GetFood(), m_NestTime, TAnimal::m_OurLandscape, Skylark_Base::m_pcide_conc, MaxFeedRain, MyMate, Skylark_Male::OnFoodMessage(), Skylark_Adult::RemoveEM(), Skylark_Male::SupplyBroodAge(), Skylark_Male::SupplyBroodSize(), Skylark_Male::SupplyBroodWeight(), Landscape::SupplyDaylength(), Landscape::SupplyRain(), and Landscape::SupplyTemp().
Referenced by st_CaringForYoung(), and st_GivingUpTerritory().
◆ GetFood()
double Skylark_Female::GetFood |
( |
int |
time | ) |
|
|
protected |
◆ GetMigrationMortality()
int Skylark_Female::GetMigrationMortality |
( |
| ) |
|
|
protected |
◆ OnBreedingSuccess()
void Skylark_Female::OnBreedingSuccess |
( |
| ) |
|
◆ OnBreedSuccess()
void Skylark_Female::OnBreedSuccess |
( |
| ) |
|
|
inline |
◆ OnBroodDeath()
void Skylark_Female::OnBroodDeath |
( |
| ) |
|
◆ OnClutchDeath()
void Skylark_Female::OnClutchDeath |
( |
| ) |
|
◆ OnEggsHatch()
void Skylark_Female::OnEggsHatch |
( |
| ) |
|
◆ OnFarmEvent()
bool Skylark_Female::OnFarmEvent |
( |
FarmToDo |
event | ) |
|
|
protectedvirtual |
Reimplemented from TAnimal.
5328 #ifdef TEST_ISSUE_DEATH_WARRANT
5329 printf(
"Skylark_Female::OnFarmEvent() : %d : %d\n", event, (
int )g_date->Date() );
5393 #ifndef __NoPigsOutEffect
5395 if ( random( 100 ) < 2 )
References Skylark_Base::AddStriglingMort(), autumn_harrow, autumn_or_spring_plough, autumn_plough, autumn_roll, autumn_sow, burn_straw_stubble, cattle_out, cattle_out_low, cfg_insecticide_direct_mortF, cut_to_hay, cut_to_silage, cut_weeds, deep_ploughing, Landscape::EventtypeToString(), fa_ammoniumsulphate, fa_greenmanure, fa_manure, fa_npk, fa_pk, fa_sludge, fa_slurry, fp_greenmanure, fp_liquidNH3, fp_manganesesulphate, fp_manure, fp_npk, fp_npks, fp_pk, fp_sludge, fp_slurry, fungicide_treat, g_land, glyphosate, growth_regulator, harvest, hay_bailing, hay_turning, herbicide_treat, hilling_up, insecticide_treat, Skylark_Base::m_CurrentSkState, TAnimal::m_OurLandscape, molluscicide, mow, Skylark_Adult::Paired, pigs_out, product_treat, row_cultivation, sleep_all_day, spring_harrow, spring_plough, spring_roll, spring_sow, straw_chopping, strigling, strigling_sow, stubble_harrowing, swathing, syninsecticide_treat, toss_FDying, toss_GivingUpTerritory, toss_MakingNest, toss_PreparingForBreeding, toss_StartingNewBrood, trial_insecticidetreat, Landscape::Warn(), water, and winter_plough.
◆ OnMaleNeverComesBack()
void Skylark_Female::OnMaleNeverComesBack |
( |
Skylark_Male * |
AMale | ) |
|
◆ OnMateDying()
void Skylark_Female::OnMateDying |
( |
| ) |
|
6036 if ( IsAlive() != 0xDEADC0DE )
References g_stopdate, Skylark_Base::m_CurrentSkState, TAnimal::m_OurLandscape, Skylark_Base::m_OurPopulationManager, Skylark_Base::m_OurTerritories, MyClutch, MyMate, Skylark_Adult::MyTerritory, Skylark_Clutch::OnMumGone(), skTerritory_struct::ref, SkTerritories::RemoveFemale(), Landscape::SupplyDayInYear(), toss_FFloating, toss_FFlocking, and Skylark_Population_Manager::WriteSKPOM1().
Referenced by Skylark_Population_Manager::Catastrophe(), and Skylark_Male::st_Dying().
◆ OnMateHomeless()
void Skylark_Female::OnMateHomeless |
( |
| ) |
|
6060 if ( IsAlive() != 0xDEADC0DE )
References Skylark_Adult::BSuccess, g_stopdate, Skylark_Base::m_CurrentSkState, TAnimal::m_OurLandscape, Skylark_Base::m_OurPopulationManager, MyClutch, MyMate, Skylark_Adult::MyTerritory, Skylark_Clutch::OnMumGone(), Skylark_Adult::Paired, skTerritory_struct::ref, Landscape::SupplyDayInYear(), toss_FFloating, toss_FFlocking, and Skylark_Population_Manager::WriteSKPOM1().
Referenced by Skylark_Male::OnReHouse().
◆ OnSetMyClutch()
◆ OnStopFeedingChicks()
void Skylark_Female::OnStopFeedingChicks |
( |
| ) |
|
◆ PesticideResponse()
void Skylark_Female::PesticideResponse |
( |
void |
| ) |
|
|
protectedvirtual |
◆ ReInit()
◆ ResetBreedingSuccess()
void Skylark_Female::ResetBreedingSuccess |
( |
| ) |
|
◆ SensibleCopy()
void Skylark_Female::SensibleCopy |
( |
| ) |
|
◆ Spiral()
◆ Spiral2()
◆ st_Arriving()
bool Skylark_Female::st_Arriving |
( |
| ) |
|
|
protected |
◆ st_BuildingUpResources()
int Skylark_Female::st_BuildingUpResources |
( |
| ) |
|
|
protected |
The female forages from her home range each day. On 1st April she will make a transition to preparing for breeding which determines the time needed for egg production and nest building.
6131 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
6144 if ( today >= (
May + 14 ) )
return 2;
6147 if ( today >
April )
return 1;
References April, Breed_Temp_Thresh, EggCounter, g_stopdate, Skylark_Adult::GetBadWeather(), m_MinFemaleAcceptScore, TAnimal::m_OurLandscape, May, MyMate, Skylark_Male::Supply_TerritoryQual(), Landscape::SupplyDayInYear(), and Landscape::SupplyTemp().
Referenced by Step().
◆ st_CaringForYoung()
int Skylark_Female::st_CaringForYoung |
( |
| ) |
|
|
protected |
◆ st_Dying()
void Skylark_Female::st_Dying |
( |
| ) |
|
|
protected |
5945 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
5949 g_land->
Warn(
"Skylark_Female::st_Dying - Debug1 ", NULL ); exit( 1 );
References g_land, Skylark_Base::m_CurrentSkState, TALMaSSObject::m_CurrentStateNo, TAnimal::m_OurLandscape, Skylark_Base::m_OurPopulationManager, Skylark_Base::m_OurTerritories, MyClutch, MyMate, Skylark_Male::MyMate, Skylark_Adult::MyTerritory, Skylark_Male::OnMateDying(), Skylark_Clutch::OnMumGone(), skTerritory_struct::ref, SkTerritories::RemoveFemale(), Landscape::SupplyDayInYear(), toss_Destroy, Landscape::Warn(), and Skylark_Population_Manager::WriteSKPOM1().
Referenced by Step().
◆ st_EggHatching()
int Skylark_Female::st_EggHatching |
( |
| ) |
|
|
protected |
A transition is made to Care for Young.
6475 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
References m_toowet.
Referenced by Step().
◆ st_Emigrating()
int Skylark_Female::st_Emigrating |
( |
| ) |
|
|
protected |
Is called once a day. This state determines the return to breeding areas based on probabilities that alter with date. Once suitable conditions prevail there will be a transition to st_Immigrating.
5767 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
5769 #ifdef __PESTICIDE_RA_ADULT
5784 int chance = random( 10000 );
5787 if ( ( chance < 300 ) && ( today >=
March + 15 ) )
return 1;
5788 else if ( today >=
April + 15 )
return 1;
5790 if ( ( chance < 7 ) && ( today >=
January + 14 ) )
return 1;
5791 else if ( ( chance < 33 ) && ( today >=
February + 14 ) )
return 1;
5792 else if ( ( chance < 400 ) && ( today >=
March + 14 ) )
return 1;
5793 else if ( ( chance < 1000 ) && ( today >=
April + 14 ) )
return 1;
5794 else if ( today > (
May ) )
return 1;
References Skylark_Base::Age, April, February, g_stopdate, Skylark_Adult::GoodWeather, January, TAnimal::m_OurLandscape, Skylark_Adult::m_pesticide_affected, March, May, Landscape::SupplyDayInYear(), and Landscape::SupplyTemp().
Referenced by Step().
◆ st_Finding_Territory()
int Skylark_Female::st_Finding_Territory |
( |
| ) |
|
|
protected |
5845 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
5857 score = testTerr.
nqual;
5878 for (
int i = 0; i < NoTerrs; i++ ) {
5881 if ( A_Male != NULL ) {
5886 g_msg->Warn( WARN_BUG,
"Skylark_Female::st_Finding_Territory(): Male already paired!",
"" );
5906 if ( remember == -1 ) {
5907 #ifdef FOR_DEMONSTRATION
References Skylark_Adult::BSuccess, EstablishTerritory(), Skylark_Adult::GetBadWeather(), Skylark_Male::HaveTerritory, TAnimal::m_Location_x, TAnimal::m_Location_y, m_MinFemaleAcceptScore, Skylark_Base::m_OurTerritories, MyMate, skTerritory_struct::nqual, Skylark_Male::OnMateNeverComesBack(), Skylark_Adult::Paired, SkTerritories::Supply_F_Owner(), SkTerritories::Supply_Owner(), Skylark_Male::Supply_Territory(), and SkTerritories::SupplyNoTerritories().
Referenced by Step().
◆ st_Floating()
int Skylark_Female::st_Floating |
( |
| ) |
|
|
protected |
◆ st_Flocking()
int Skylark_Female::st_Flocking |
( |
| ) |
|
|
protected |
◆ st_GivingUpTerritory()
int Skylark_Female::st_GivingUpTerritory |
( |
| ) |
|
|
protected |
6360 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
References Skylark_Adult::BSuccess, EggCounter, FeedYoung(), TAnimal::m_OurLandscape, Skylark_Base::m_OurPopulationManager, Skylark_Base::m_OurTerritories, MyClutch, MyMate, Skylark_Adult::MyTerritory, NestLoc, Skylark_Male::OnMateLeaving(), Skylark_Clutch::OnMumGone(), Skylark_Adult::Paired, skTerritory_struct::ref, SkTerritories::RemoveFemale(), Skylark_Male::SupplyBroodSize(), Landscape::SupplyDayInYear(), and Skylark_Population_Manager::WriteSKPOM1().
Referenced by Step().
◆ st_Immigrating()
bool Skylark_Female::st_Immigrating |
( |
| ) |
|
|
protected |
An instantaneous state which determines the chanve of migration mortality. If she does die then she has to inform any old mate that she has gone. If he is already paired with another bird then can just forget him. If not dying then breeding success for this year is reset and the bird transitions to st_Arrival.
5735 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
References Skylark_Base::Age, cfg_FemaleMinTerritoryAcceptScore, GetMigrationMortality(), m_BreedingAttempts, m_MinFemaleAcceptScore, Skylark_Adult::m_pesticide_affected, MyClutch, MyMate, Skylark_Male::OnMateNeverComesBack(), Skylark_Adult::Paired, and ResetBreedingSuccess().
Referenced by Step().
◆ st_Incubating()
int Skylark_Female::st_Incubating |
( |
| ) |
|
|
protected |
Incubation occurs as described in development below. The female spends that time off the nest required to find energy to cover her basal metabolic requirements, plus that energy required to warm the eggs. Incubation continues until the eggs hatch and there is a transition to Care For Young, or the incubation period (MID) is exceeded, at which point the female will Start New Brood. This state can only be left by a call to OnEggHatch being altered on creation of a nestling or to StartNewBrood
6431 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
6460 if ( foodtime > Daylength ) foodtime = Daylength;
References CalcFoodTime(), m_Counter1, m_NestTime, TAnimal::m_OurLandscape, Skylark_Base::m_OurPopulationManager, m_toowet, MaxFeedRain, Landscape::SupplyDaylength(), Skylark_Population_Manager::SupplyEMi(), and Landscape::SupplyRain().
Referenced by Step().
◆ st_Laying()
6261 g_msg->Warn( WARN_BUG,
"Skylark_Female::st_Laying(): No mate!",
"" );
6265 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
6274 #ifdef __PESTICIDE_RA_ADULT
6326 #ifdef FOR_DEMONSTRATION
References Skylark_Clutch::AddEgg(), Skylark_struct::bx, Skylark_struct::by, CalculateEggNumber(), cfg_skylark_pesticide_eggshellreduction, cfg_skylark_pesticide_eggshellreduction_perclutch, cfg_skylark_pesticide_globaleggshellreduction, Skylark_Population_Manager::CreateObjects(), g_rand_uni, Skylark_struct::L, m_BreedingAttempts, m_Counter1, m_EggNumber, TAnimal::m_Location_x, TAnimal::m_Location_y, TAnimal::m_OurLandscape, Skylark_Base::m_OurPopulationManager, Skylark_Base::m_OurTerritories, Skylark_Adult::m_pesticide_affected, Skylark_struct::mh, skClutch_struct::Mum, MyClutch, MyMate, skClutch_struct::No, Skylark_Clutch::StartDeveloping(), Landscape::SupplyDayInYear(), Landscape::SupplyPesticideType(), Population_Manager::SupplySimH(), Population_Manager::SupplySimW(), Landscape::SupplyVegType(), Landscape::SupplyYearNumber(), Skylark_struct::Terrs, toss_Incubating, toss_Laying, toss_PreparingForBreeding, ttop_eggshellthinning, ttop_ReproductiveEffects, Skylark_struct::x, and Skylark_struct::y.
Referenced by Step().
◆ st_MakingNest()
Tests for the necessary territory quality, if OK finds a nest location and builds the nest. Nest attempts are assumed to be breeding attempts.
6198 #ifdef __PESTICIDE_RA_ADULT
6211 g_msg->Warn(WARN_BUG,
"Skylark_Female::st_MakingNest(): No mate!",
"");
6221 if (today >= (
June)) {
6239 if (today >= (
May + 14)) {
References June, m_BreedingSuccess, m_Counter1, TAnimal::m_Location_x, TAnimal::m_Location_y, m_MinFemaleAcceptScore, TAnimal::m_OurLandscape, Skylark_Adult::m_pesticide_affected, May, MyMate, NestLoc, Skylark_Male::OnNestLocation(), Skylark_Male::Supply_TerritoryQual(), Landscape::SupplyDayInYear(), Skylark_Male::SupplyNestLoc(), Skylark_Male::SupplyNestValid(), toss_GivingUpTerritory, toss_Laying, toss_MakingNest, and toss_PreparingForBreeding.
Referenced by Step().
◆ st_PreparingForBreeding()
int Skylark_Female::st_PreparingForBreeding |
( |
| ) |
|
|
protected |
Builds up resources whilst waiting for good enough weather to begin nest building. Transitions to MakingNest or GiveUpTerritory (if too late in the season).
6161 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
6176 if ( t < 5.0 )
return 0;
6178 if ( t < 5.0 )
return 0;
6180 if ( t < 5.0 )
return 0;
References EggCounter, g_stopdate, GetFood(), m_BreedingAttempts, m_Counter1, TAnimal::m_OurLandscape, Skylark_Adult::RemoveEM(), Resources, Landscape::SupplyDayInYear(), Landscape::SupplyDaylength(), Landscape::SupplyGlobalDate(), Landscape::SupplySnowcover(), and Landscape::SupplyTemp().
Referenced by Step().
◆ st_StartingNewBrood()
int Skylark_Female::st_StartingNewBrood |
( |
| ) |
|
|
protected |
Any current nests or clutches are removed. The female assesses the habitat quality of the territory. If still suitable (i.e. above MTQ) she will make a transition to Make Nest, otherwise she will go to Give Up Territory.
6403 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
References g_stopdate, m_BreedingAttempts, m_Counter1, m_MinFemaleAcceptScore, TAnimal::m_OurLandscape, Skylark_Base::m_OurPopulationManager, m_toowet, MyClutch, MyMate, NestLoc, Skylark_Clutch::OnMumGone(), st_StoppingBreeding(), Skylark_Male::Supply_TerritoryQual(), Landscape::SupplyDayInYear(), and Skylark_Population_Manager::WriteSKPOM1().
Referenced by Step().
◆ st_StoppingBreeding()
int Skylark_Female::st_StoppingBreeding |
( |
| ) |
|
|
protected |
Called when the female stops breeding for the year. Removes the pair bond and tell the male she is leaving. She deregisters her territory ownership and if there has been no breeding success then she forgets the male.
6491 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
References Skylark_Adult::BSuccess, TAnimal::m_OurLandscape, Skylark_Base::m_OurPopulationManager, Skylark_Base::m_OurTerritories, MyClutch, MyMate, Skylark_Adult::MyTerritory, Skylark_Male::OnMateLeaving(), Skylark_Clutch::OnMumGone(), Skylark_Adult::Paired, skTerritory_struct::ref, SkTerritories::RemoveFemale(), Landscape::SupplyDayInYear(), and Skylark_Population_Manager::WriteSKPOM1().
Referenced by st_StartingNewBrood(), and Step().
◆ st_TempLeavingArea()
int Skylark_Female::st_TempLeavingArea |
( |
| ) |
|
|
protected |
◆ Step()
void Skylark_Female::Step |
( |
void |
| ) |
|
|
virtual |
Step behaviour - must be implemented in descendent classes.
Reimplemented from TAnimal.
5473 if ( IsAlive() != 0x0DEADC0DE ) DEADCODEError();
5479 g_land->
Warn(
"Skylark_Female::Step: DeBug5 ", NULL ); exit( 1 );
5511 #ifdef TEST_ISSUE_DEATH_WARRANT
5512 printf(
"Skylark_Female::Step() : st_Immigrating() : %d\n", (
int )g_date->Date() );
5531 g_land->
Warn(
"Skylark_Female::Step: !Paired ", NULL ); exit( 1 );
5548 g_land->
Warn(
"Skylark_Female::Step: !Paired ", NULL ); exit( 1 );
5569 g_land->
Warn(
"Skylark_Female::Step: !Paired ", NULL ); exit( 1 );
5612 g_land->
Warn(
"Skylark_Female::Step: EggHatching ", NULL ); exit( 1 );
5617 g_land->
Warn(
"Skylark_Female::Step: Illegal Return Value ", NULL );
5645 g_land->
Warn(
"Skylark_Female::Step: Unknown State", st.c_str() );
References g_land, Skylark_Base::m_CurrentSkState, TAnimal::m_Location_x, TAnimal::m_Location_y, TAnimal::m_OurLandscape, Skylark_Base::m_OurPopulationManager, TALMaSSObject::m_StepDone, m_toowet, Skylark_Clutch::Mother, MyClutch, NestLoc, Skylark_Clutch::OnMumGone(), Skylark_Adult::Paired, st_Arriving(), st_BuildingUpResources(), st_Dying(), st_EggHatching(), st_Emigrating(), st_Finding_Territory(), st_Flocking(), st_GivingUpTerritory(), st_Immigrating(), st_Incubating(), st_Laying(), st_MakingNest(), st_PreparingForBreeding(), st_StartingNewBrood(), st_StoppingBreeding(), st_TempLeavingArea(), Landscape::SupplyDayInYear(), Population_Manager::SupplyStateNames(), toss_BuildingUpResources, toss_Destroy, toss_EggHatching, toss_FArriving, toss_FCaringForYoung, toss_FDying, toss_FEmigrating, toss_FFindingTerritory, toss_FFloating, toss_FFlocking, toss_FImmigrating, toss_FTempLeavingArea, toss_GivingUpTerritory, toss_Incubating, toss_Initiation, toss_Laying, toss_MakingNest, toss_PreparingForBreeding, toss_StartingNewBrood, toss_StoppingBreeding, Landscape::Warn(), and Skylark_Population_Manager::WriteSKPOM1().
◆ Supply_BreedingAttempts()
int Skylark_Female::Supply_BreedingAttempts |
( |
| ) |
|
◆ Supply_BreedingSuccess()
int Skylark_Female::Supply_BreedingSuccess |
( |
| ) |
|
◆ Supply_NestTime()
int Skylark_Female::Supply_NestTime |
( |
| ) |
|
|
inline |
◆ SupplyMyClutch()
◆ EggCounter
int Skylark_Female::EggCounter |
|
protected |
◆ m_BreedingAttempts
int Skylark_Female::m_BreedingAttempts |
|
protected |
◆ m_BreedingSuccess
int Skylark_Female::m_BreedingSuccess |
|
protected |
◆ m_Counter1
int Skylark_Female::m_Counter1 |
|
protected |
◆ m_EggNumber
int Skylark_Female::m_EggNumber |
|
protected |
◆ m_MinFemaleAcceptScore
double Skylark_Female::m_MinFemaleAcceptScore |
|
protected |
◆ m_NestTime
int Skylark_Female::m_NestTime |
|
protected |
◆ m_pesticide_sprayed_die
bool Skylark_Female::m_pesticide_sprayed_die |
|
protected |
◆ m_toowet
int Skylark_Female::m_toowet |
|
protected |
◆ MyClutch
Referenced by OnBroodDeath(), OnClutchDeath(), OnEggsHatch(), OnMateDying(), OnMateHomeless(), ReInit(), Skylark_Female(), st_Dying(), st_GivingUpTerritory(), st_Immigrating(), st_Laying(), st_StartingNewBrood(), st_StoppingBreeding(), and Step().
◆ MyMate
Referenced by CalcFoodTime(), Skylark_Population_Manager::Catastrophe(), EstablishTerritory(), FeedYoung(), GetFood(), OnEggsHatch(), OnMaleNeverComesBack(), OnMateDying(), OnMateHomeless(), ReInit(), Skylark_Female(), st_BuildingUpResources(), st_CaringForYoung(), st_Dying(), Skylark_Male::st_Dying(), st_Finding_Territory(), st_GivingUpTerritory(), Skylark_Clutch::st_Hatching(), st_Immigrating(), st_Laying(), st_MakingNest(), st_StartingNewBrood(), and st_StoppingBreeding().
◆ NestLoc
bool Skylark_Female::NestLoc |
|
protected |
◆ Resources
double Skylark_Female::Resources |
|
protected |
The documentation for this class was generated from the following files:
CfgFloat cfg_skylark_pesticide_eggshellreduction
Definition: treatment.h:74
bool NestLoc
Definition: skylarks_all.h:796
virtual void PesticideResponse()
Definition: skylarks_all.cpp:6850
int JuvenileReturnMort
Definition: skylarks_all.cpp:225
int No
Definition: skylarks_all.h:219
const char * SupplyStateNames(int i)
Definition: PopulationManager.h:497
Definition: tole_declaration.h:72
Definition: treatment.h:77
Definition: treatment.h:89
Definition: Landscape.h:69
virtual double RemoveEM(double food)
Definition: skylarks_all.cpp:3717
vector< int > m_HabitatTable_Size
Definition: skylarks_all.h:900
Definition: treatment.h:38
double SupplyTemp(void)
Definition: Landscape.h:1386
TTypesOfVegetation SupplyVegType(int a_x, int a_y)
Definition: Landscape.h:1321
void OnMateNeverComesBack(Skylark_Female *AFemale)
Definition: skylarks_all.cpp:4532
int m_NestTime
Definition: skylarks_all.h:795
TTypesOfLandscapeElement SupplyElementType(int a_polyref)
Definition: Landscape.h:1110
Definition: skylarks_all.h:57
Definition: skylarks_all.h:305
Definition: skylarks_all.h:59
bool SupplyNestValid()
Definition: skylarks_all.h:980
Definition: treatment.h:65
Definition: treatment.h:37
Definition: skylarks_all.h:57
void CorrectCoords(int &x, int &y)
Function to prevent wrap around errors with co-ordinates using x/y pair.
Definition: Landscape.h:1535
Definition: treatment.h:41
TTypesOfSkState m_CurrentSkState
Definition: skylarks_all.h:594
CfgFloat cfg_Skylark_female_Biodegredation
Definition: treatment.h:102
Landscape * L
Definition: skylarks_all.h:203
void AddStriglingMort(int lifestage)
Definition: skylarks_all.h:611
Definition: treatment.h:82
Definition: skylarks_all.h:57
bool GetBadWeather()
Extreme weather conditions check.
Definition: skylarks_all.cpp:3710
Landscape * m_OurLandscape
Definition: PopulationManager.h:229
Definition: treatment.h:52
int CalcFoodTime(double target)
Definition: skylarks_all.cpp:6709
Skylark_Female * Supply_F_Owner(int ref)
Definition: skylarks_all.cpp:1459
bool SupplySnowcover(void)
Definition: Landscape.h:1437
int st_Incubating()
Definition: skylarks_all.cpp:6429
int by
Definition: skylarks_all.h:201
Definition: treatment.h:68
Definition: skylarks_all.h:58
Definition: skylarks_all.h:57
Definition: treatment.h:56
const int February
Definition: Landscape.h:37
int x
Definition: skylarks_all.h:198
CfgFloat cfg_FemaleMinTerritoryAcceptScore
int ref
Definition: skylarks_all.h:311
void FemaleOccupy(int ref, Skylark_Female *Female)
Definition: skylarks_all.cpp:2392
void OnPairing(Skylark_Female *female)
Definition: skylarks_all.cpp:4920
Definition: treatment.h:88
int st_Emigrating()
Definition: skylarks_all.cpp:5765
SkTerritories * m_OurTerritories
Definition: skylarks_all.h:602
int st_TempLeavingArea()
Definition: skylarks_all.cpp:5803
double MaxFeedRain
Definition: skylarks_all.cpp:222
Definition: treatment.h:80
Definition: skylarks_all.h:216
int GetMigrationMortality()
Definition: skylarks_all.cpp:6753
void AddEgg()
Definition: skylarks_all.h:656
Definition: treatment.h:51
Definition: skylarks_all.h:59
CfgFloat cfg_Skylark_female_NOEL
Definition: treatment.h:75
int st_BuildingUpResources()
Definition: skylarks_all.cpp:6125
int m_pesticide_affected
Definition: skylarks_all.h:742
Definition: treatment.h:92
int SimW
Definition: PopulationManager.h:511
int st_PreparingForBreeding()
Definition: skylarks_all.cpp:6154
int size
Definition: skylarks_all.h:310
TTypesOfSkState st_MakingNest()
Definition: skylarks_all.cpp:6192
int st_GivingUpTerritory()
Definition: skylarks_all.cpp:6358
void OnMateDying()
Definition: skylarks_all.cpp:4311
Definition: treatment.h:100
int CalculateEggNumber()
Definition: skylarks_all.cpp:6683
Definition: skylarks_all.h:57
Definition: treatment.h:50
const int June
Definition: Landscape.h:41
Definition: treatment.h:61
Definition: treatment.h:83
double OnFoodMessage(int n, double f)
Definition: skylarks_all.h:948
Definition: treatment.h:49
boost::variate_generator< base_generator_type &, boost::uniform_real<> > g_rand_uni
Definition: treatment.h:90
Definition: treatment.h:34
int SupplySimAreaHeight(void)
Definition: Landscape.h:1637
Definition: treatment.h:55
int SupplySimAreaWidth(void)
Definition: Landscape.h:1632
int m_Location_y
Definition: PopulationManager.h:228
Definition: treatment.h:95
Definition: skylarks_all.h:45
Skylark_Adult(int x, int y, double size, int age, SkTerritories *Terrs, Landscape *L, Skylark_Population_Manager *SPM, int bx, int by, int mh)
Definition: skylarks_all.cpp:3677
int Age
Definition: skylarks_all.h:595
void WriteSKPOM1(int n, int n2)
Definition: skylarks_all.h:479
Definition: skylarks_all.h:57
int st_StoppingBreeding()
Definition: skylarks_all.cpp:6485
int st_Finding_Territory()
Definition: skylarks_all.cpp:5843
Definition: treatment.h:42
void StartDeveloping()
Definition: skylarks_all.h:661
int EggCounter
Definition: skylarks_all.h:798
int SupplySimW()
Definition: PopulationManager.h:452
double Supply_TerritoryQual()
Definition: skylarks_all.h:938
int SupplyBroodWeight(int n)
Definition: skylarks_all.h:942
bool st_Immigrating()
Definition: skylarks_all.cpp:5728
void ResetBreedingSuccess()
Definition: skylarks_all.cpp:6114
void EstablishTerritory()
Definition: skylarks_all.cpp:5925
double SupplyEMi()
Definition: skylarks_all.h:558
Definition: treatment.h:57
CfgBool cfg_skylark_pesticide_eggshellreduction_perclutch
Definition: treatment.h:87
int SupplyBroodSize()
Definition: skylarks_all.h:927
Definition: treatment.h:73
Definition: treatment.h:43
SkTerritories * Terrs
Definition: skylarks_all.h:204
vector< double > m_InsectTable
Definition: skylarks_all.h:901
int SupplyDayInYear(void)
Definition: Landscape.h:1596
const int April
Definition: Landscape.h:39
Definition: treatment.h:93
Definition: treatment.h:62
int SupplyNoHabitatRefs()
Definition: skylarks_all.h:922
int y
Definition: skylarks_all.h:309
Definition: skylarks_all.h:59
bool m_StepDone
Indicates whether the iterative step code is done for this timestep.
Definition: PopulationManager.h:118
Definition: skylarks_all.h:854
int SupplyBroodAge(int n)
Definition: skylarks_all.h:932
TTypesOfPesticide SupplyPesticideType(void)
Definition: Landscape.h:433
bool Paired
Definition: skylarks_all.h:752
Definition: treatment.h:45
int SupplyYearNumber(void)
Definition: Landscape.h:1616
int m_BreedingAttempts
Definition: skylarks_all.h:799
static int FoodTripsPerDay
Definition: skylarks_all.cpp:184
int m_EggNumber
Definition: skylarks_all.h:801
bool st_Arriving()
Definition: skylarks_all.cpp:5708
void OnEggHatch()
Definition: skylarks_all.cpp:4817
const double KcalPerGInsect_kg_inv
Definition: skylarks_all.cpp:202
int SupplyF_Mig_Mort()
Definition: skylarks_all.h:491
Definition: treatment.h:79
int SupplySimH()
Definition: PopulationManager.h:455
std::string EventtypeToString(int a_event)
Definition: Landscape.cpp:3918
Definition: skylarks_all.h:58
double GetFood(int time)
Definition: skylarks_all.cpp:6633
Definition: treatment.h:99
Definition: treatment.h:66
Definition: skylarks_all.h:60
Definition: treatment.h:48
Definition: treatment.h:76
double SupplyRain(void)
Definition: Landscape.h:1365
int m_Counter1
Definition: skylarks_all.h:794
double m_pesticide_accumulation
Definition: skylarks_all.h:592
int GoodWeather
Definition: skylarks_all.h:739
Definition: treatment.h:96
const int May
Definition: Landscape.h:40
Skylark_Male * Supply_Owner(int ref)
Definition: skylarks_all.cpp:1452
const int January
Definition: Landscape.h:36
void OnNestLocation(int x, int y)
Definition: skylarks_all.cpp:4907
double SupplyVegHeight(int a_polyref)
Definition: Landscape.h:936
Definition: tole_declaration.h:43
double m_Size
Definition: skylarks_all.h:596
double MyExtractEff
Definition: skylarks_all.h:741
CfgInt cfg_insecticide_direct_mortF
void OnArrayBoundsError()
Used for debugging only, tests basic object properties.
int g_stopdate
Definition: skylarks_all.cpp:43
int SimH
Definition: PopulationManager.h:511
int st_Floating()
Definition: skylarks_all.cpp:5822
Skylark_Population_Manager * m_OurPopulationManager
Definition: skylarks_all.h:603
double Resources
Definition: skylarks_all.h:797
Definition: treatment.h:44
int y
Definition: skylarks_all.h:199
Definition: treatment.h:67
int st_StartingNewBrood()
Definition: skylarks_all.cpp:6396
void OnMateLeaving()
Definition: skylarks_all.cpp:4337
int st_EggHatching()
Definition: skylarks_all.cpp:6470
const int September
Definition: Landscape.h:44
Definition: skylarks_all.h:59
void CheckManagement(void)
APoint SupplyNestLoc()
Definition: skylarks_all.h:983
Landscape * g_land
Definition: skylarks_all.cpp:49
void CreateObjects(int ob_type, TAnimal *pTAo, void *null, Skylark_struct *data, int number)
Definition: skylarks_all.cpp:557
const int March
Definition: Landscape.h:38
Definition: treatment.h:46
bool HaveTerritory
Definition: skylarks_all.h:906
Definition: skylarks_all.h:58
Definition: treatment.h:94
Definition: skylarks_all.h:58
int m_toowet
Definition: skylarks_all.h:803
Definition: treatment.h:53
Definition: treatment.h:71
Definition: skylarks_all.h:58
int st_Flocking()
Definition: skylarks_all.cpp:5682
double m_pcide_conc
Definition: skylarks_all.h:593
Definition: treatment.h:72
Definition: treatment.h:86
Definition: skylarks_all.h:59
Definition: treatment.h:101
Skylark_Male * MyMate
Definition: skylarks_all.h:806
int mh
Definition: skylarks_all.h:202
int m_CurrentStateNo
The basic state number for all objects - '-1' indicates death.
Definition: PopulationManager.h:116
Definition: skylarks_all.h:62
Definition: treatment.h:84
const double Breed_Temp_Thresh
Definition: skylarks_all.cpp:237
Skylark_Female * Mum
Definition: skylarks_all.h:220
double nqual
Definition: skylarks_all.h:312
skTerritory_struct Supply_Territory()
Definition: skylarks_all.cpp:4548
Definition: skylarks_all.h:59
Skylark_Female * Mother
Definition: skylarks_all.h:670
virtual void ReInit(int x, int y, double size, int age, SkTerritories *Terrs, Landscape *L, Skylark_Population_Manager *SPM, int bx, int by, int mh)
Definition: skylarks_all.cpp:3690
Definition: treatment.h:85
void OnMumGone()
Definition: skylarks_all.cpp:2660
skTerritory_struct MyTerritory
Definition: skylarks_all.h:743
Definition: treatment.h:47
void FeedYoung()
Definition: skylarks_all.cpp:6542
void Warn(std::string a_msg1, std::string a_msg2)
Definition: Landscape.h:1579
CfgFloat cfg_skylark_pesticide_globaleggshellreduction
Definition: treatment.h:33
Skylark_Female * MyMate
Definition: skylarks_all.h:891
TTypesOfSkState st_Laying()
Definition: skylarks_all.cpp:6259
int m_Location_x
Definition: PopulationManager.h:225
double m_MinFemaleAcceptScore
Definition: skylarks_all.h:804
int x
Definition: skylarks_all.h:308
Skylark_Clutch * MyClutch
Definition: skylarks_all.h:793
Definition: treatment.h:91
int st_CaringForYoung()
Definition: skylarks_all.cpp:6515
Definition: Landscape.h:75
int SupplyDaylength(void)
Definition: Landscape.h:1530
int SupplyPolyRef(int a_x, int a_y)
Definition: Landscape.h:1488
int bx
Definition: skylarks_all.h:200
Definition: treatment.h:63
long SupplyGlobalDate(void)
Definition: Landscape.h:1621
Definition: treatment.h:81
int SupplyNoTerritories()
Definition: skylarks_all.cpp:1422
void RemoveFemale(int ref)
Definition: skylarks_all.cpp:2399
void st_Dying()
Definition: skylarks_all.cpp:5943
const int October
Definition: Landscape.h:45
int m_BreedingSuccess
Definition: skylarks_all.h:800
bool BSuccess
Definition: skylarks_all.h:740