43 #include "../../Landscape/ls.h"
44 #include "../../Landscape/cropprogs/NLCarrots.h"
87 a_field->SetMDates(0, 0, g_date->DayInYear(1, 10));
88 a_field->SetMDates(1, 0, g_date->DayInYear(15, 11));
90 a_field->SetMConstants(0, 1);
100 if (a_ev->
m_startday > g_date->DayInYear(1, 7)) {
101 if (a_field->GetMDates(0, 0) >= a_ev->
m_startday)
103 g_msg->Warn(WARN_BUG,
"NLCarrots::Do(): ",
"Harvest too late for the next crop to start!!!");
105 g_msg->Warn(
"Next Crop ", (
double)almassnum);
108 for (
int i = 0; i < noDates; i++) {
109 if (a_field->GetMDates(0, i) >= a_ev->
m_startday) {
110 a_field->SetMDates(0, i, a_ev->
m_startday - 1);
112 if (a_field->GetMDates(1, i) >= a_ev->
m_startday) {
113 a_field->SetMConstants(i, 0);
114 a_field->SetMDates(1, i, a_ev->
m_startday - 1);
122 d1 = g_date->OldDays() + g_date->DayInYear(1, 7);
123 if (g_date->Date() < d1) {
125 printf(
"Poly: %d\n", a_field->GetPoly());
126 g_msg->Warn(WARN_BUG,
"NLCarrots::Do(): ",
"Crop start attempt between 1st Jan & 1st July");
128 g_msg->Warn(WARN_BUG,
"Previous Crop ", prev);
130 g_msg->Warn(
"Next Crop ", (
double)almassnum);
134 if (g_date->Date() > d1) {
136 g_msg->Warn(WARN_BUG,
"NLCarrots::Do(): ",
"Crop start attempt after last possible start date");
137 g_msg->Warn(WARN_BUG,
"Previous Crop ",
"");
138 a_field->GetOwner()->GetPreviousCrop(a_field->GetRotIndex());
140 g_msg->Warn(
"Next Crop ", (
double)almassnum);
155 d1 = g_date->OldDays() + g_date->DayInYear(1, 10);
164 if (!a_farm->
SpringPlough(a_field, 0.0, g_date->DayInYear(30, 3) - g_date->DayInYear())) {
175 if (a_field->GetSoilType() != 2 && a_field->GetSoilType() != 6)
177 if (a_ev->
m_lock || a_farm->DoIt_prob(0.95))
179 if (!a_farm->WinterPlough(a_field, 0.0, g_date->DayInYear(1, 12) - g_date->DayInYear())) {
186 if (a_farm->IsStockFarmer())
200 if (!a_farm->StubbleCultivatorHeavy(a_field, 0.0, g_date->DayInYear(1, 12) - g_date->DayInYear())) {
204 if (a_farm->IsStockFarmer())
211 if (a_ev->
m_lock || a_farm->DoIt_prob(0.95))
213 if (!a_farm->FP_NPK(a_field, 0.0, g_date->DayInYear(1, 5) - g_date->DayInYear())) {
218 d1 = g_date->Date() + 1;
219 if (d1 < g_date->OldDays() + g_date->DayInYear(1, 4)) {
220 d1 = g_date->OldDays() + g_date->DayInYear(1, 4);
225 if (a_ev->
m_lock || a_farm->DoIt_prob(0.95))
227 if (!a_farm->FA_NPK(a_field, 0.0, g_date->DayInYear(1, 5) - g_date->DayInYear())) {
232 d1 = g_date->Date() + 1;
233 if (d1 < g_date->OldDays() + g_date->DayInYear(1, 4)) {
234 d1 = g_date->OldDays() + g_date->DayInYear(1, 4);
240 if (!a_farm->PreseedingCultivator(a_field, 0.0, g_date->DayInYear(25, 4) - g_date->DayInYear())) {
247 if (!a_farm->BedForming(a_field, 0.0, g_date->DayInYear(30, 4) - g_date->DayInYear())) {
254 if (!a_farm->SpringSow(a_field, 0.0, g_date->DayInYear(15, 5) - g_date->DayInYear())) {
261 if (a_farm->IsStockFarmer())
268 if (a_ev->
m_lock || a_farm->DoIt_prob(0.80))
270 if (!a_farm->FP_AmmoniumSulphate(a_field, 0.0, g_date->DayInYear(30, 7) - g_date->DayInYear())) {
278 if (a_ev->
m_lock || a_farm->DoIt_prob(0.80))
280 if (!a_farm->FA_AmmoniumSulphate(a_field, 0.0, g_date->DayInYear(30, 7) - g_date->DayInYear())) {
289 if (a_field->GetGreenBiomass() <= 0)
291 if (a_ev->
m_lock || a_farm->DoIt_prob(0.80))
293 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(20, 5) - g_date->DayInYear())) {
305 if (a_field->GetGreenBiomass() <= 0) {
312 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(5, 6) - g_date->DayInYear())) {
325 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(20, 6) - g_date->DayInYear())) {
334 if (a_ev->
m_lock || a_farm->DoIt_prob(0.80))
336 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(30, 7) - g_date->DayInYear())) {
347 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(30, 8) - g_date->DayInYear())) {
358 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(30, 9) - g_date->DayInYear())) {
366 if (a_field->GetMConstants(0) == 0) {
367 if (!a_farm->Harvest(a_field, 0.0, -1)) {
368 g_msg->Warn(WARN_BUG,
"NLCarrots::Do(): failure in 'Harvest' execution",
"");
373 if (!a_farm->Harvest(a_field, 0.0, a_field->GetMDates(1, 0) - g_date->DayInYear())) {
383 g_msg->Warn(WARN_BUG,
"NLCarrots::Do(): "
384 "Unknown event type! ",
"");