43 #include "../../Landscape/ls.h"
44 #include "../../Landscape/cropprogs/NLBeet.h"
84 a_field->SetMDates(0, 0, g_date->DayInYear(15, 12));
85 a_field->SetMDates(1, 0, g_date->DayInYear(15, 12));
87 a_field->SetMConstants(0, 1);
97 if (a_ev->
m_startday > g_date->DayInYear(1, 7)) {
98 if (a_field->GetMDates(0, 0) >= a_ev->
m_startday)
100 g_msg->Warn(WARN_BUG,
"NLBeet::Do(): ",
"Harvest too late for the next crop to start!!!");
102 g_msg->Warn(
"Next Crop ", (
double)almassnum);
105 for (
int i = 0; i < noDates; i++) {
106 if (a_field->GetMDates(0, i) >= a_ev->
m_startday) {
107 a_field->SetMDates(0, i, a_ev->
m_startday - 1);
109 if (a_field->GetMDates(1, i) >= a_ev->
m_startday) {
110 a_field->SetMConstants(i, 0);
111 a_field->SetMDates(1, i, a_ev->
m_startday - 1);
119 d1 = g_date->OldDays() + g_date->DayInYear(1, 7);
120 if (g_date->Date() < d1) {
122 printf(
"Poly: %d\n", a_field->GetPoly());
123 g_msg->Warn(WARN_BUG,
"NLBeet::Do(): ",
"Crop start attempt between 1st Jan & 1st July");
125 g_msg->Warn(WARN_BUG,
"Previous Crop ", prev);
127 g_msg->Warn(
"Next Crop ", (
double)almassnum);
131 if (g_date->Date() > d1) {
133 g_msg->Warn(WARN_BUG,
"NLBeet::Do(): ",
"Crop start attempt after last possible start date");
134 g_msg->Warn(WARN_BUG,
"Previous Crop ",
"");
135 a_field->GetOwner()->GetPreviousCrop(a_field->GetRotIndex());
137 g_msg->Warn(
"Next Crop ", (
double)almassnum);
152 d1 = g_date->OldDays() + g_date->DayInYear(1, 9);
155 if (a_field->GetSoilType() == 2 || a_field->GetSoilType() == 6) {
164 if (!a_farm->
StubbleHarrowing(a_field, 0.0, g_date->DayInYear(31, 10) - g_date->DayInYear())) {
171 if (!a_farm->SpringPlough(a_field, 0.0, g_date->DayInYear(30, 3) - g_date->DayInYear())) {
175 if (a_farm->IsStockFarmer())
182 if (a_ev->
m_lock || a_farm->DoIt_prob(0.15))
184 if (!a_farm->StubbleHarrowing(a_field, 0.0, g_date->DayInYear(31, 12) - g_date->DayInYear())) {
189 d1 = g_date->Date() + 21;
190 if (d1 < g_date->OldDays() + g_date->DayInYear(15, 10)) {
191 d1 = g_date->OldDays() + g_date->DayInYear(15, 10);
196 if (!a_farm->WinterPlough(a_field, 0.0, g_date->DayInYear(15, 12) - g_date->DayInYear())) {
200 if (a_farm->IsStockFarmer())
207 if (a_ev->
m_lock || a_farm->DoIt_prob(0.60))
209 if (!a_farm->FP_NPK(a_field, 0.0, g_date->DayInYear(10, 4) - g_date->DayInYear())) {
217 if (a_ev->
m_lock || a_farm->DoIt_prob(0.60))
219 if (!a_farm->FA_NPK(a_field, 0.0, g_date->DayInYear(10, 4) - g_date->DayInYear())) {
227 if (!a_farm->PreseedingCultivator(a_field, 0.0, g_date->DayInYear(14, 4) - g_date->DayInYear())) {
234 if (!a_farm->SpringSow(a_field, 0.0, g_date->DayInYear(15, 4) - g_date->DayInYear())) {
241 if (a_farm->IsStockFarmer())
249 if (a_field->GetGreenBiomass() <= 0) {
254 if (!a_farm->FP_AmmoniumSulphate(a_field, 0.0, g_date->DayInYear(15, 5) - g_date->DayInYear())) {
262 if (a_field->GetGreenBiomass() <= 0) {
268 if (!a_farm->FA_AmmoniumSulphate(a_field, 0.0, g_date->DayInYear(15, 5) - g_date->DayInYear())) {
278 if (a_field->GetGreenBiomass() <= 0)
280 if (a_ev->
m_lock || a_farm->DoIt_prob(0.75))
282 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(20, 4) - g_date->DayInYear())) {
294 if (a_field->GetGreenBiomass() <= 0) {
299 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(30, 4) - g_date->DayInYear())) {
308 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(15, 5) - g_date->DayInYear())) {
317 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(30, 5) - g_date->DayInYear())) {
326 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(5, 8) - g_date->DayInYear())) {
333 if (a_ev->
m_lock || a_farm->DoIt_prob(0.75))
335 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(25, 8) - g_date->DayInYear())) {
346 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(15, 9) - g_date->DayInYear())) {
356 if (!a_farm->Harvest(a_field, 0.0, a_field->GetMDates(0, 0) - g_date->DayInYear())) {
365 g_msg->Warn(WARN_BUG,
"NLBeet::Do(): "
366 "Unknown event type! ",
"");