43 #include "../../Landscape/ls.h"
44 #include "../../Landscape/cropprogs/NLPotatoesSpring.h"
88 a_field->SetMDates(0, 0, g_date->DayInYear(30, 10));
89 a_field->SetMDates(1, 0, g_date->DayInYear(30, 10));
92 a_field->SetMConstants(0, 1);
102 if (a_ev->
m_startday > g_date->DayInYear(1, 7)) {
103 if (a_field->GetMDates(0, 0) >= a_ev->
m_startday)
105 g_msg->Warn(WARN_BUG,
"NLPotatoesSpring::Do(): ",
"Harvest too late for the next crop to start!!!");
107 g_msg->Warn(
"Next Crop ", (
double)almassnum);
110 for (
int i = 0; i < noDates; i++) {
111 if (a_field->GetMDates(0, i) >= a_ev->
m_startday) {
112 a_field->SetMDates(0, i, a_ev->
m_startday - 1);
114 if (a_field->GetMDates(1, i) >= a_ev->
m_startday) {
115 a_field->SetMConstants(i, 0);
116 a_field->SetMDates(1, i, a_ev->
m_startday - 1);
124 if (g_date->Date() > d1) {
126 g_msg->Warn(WARN_BUG,
"NLPotatoesSpring::Do(): ",
"Crop start attempt after last possible start date");
128 g_msg->Warn(WARN_BUG,
"Previous Crop ", prev);
130 g_msg->Warn(
"Next Crop ", (
double)almassnum);
142 d1 = g_date->OldDays() + g_date->DayInYear(15, 3);
143 if (g_date->Date() >= d1) d1 += 365;
146 if (a_field->GetSoilType() == 2 || a_field->GetSoilType() == 6) {
151 d1 = g_date->OldDays() + g_date->DayInYear(10, 4);
152 if (g_date->Date() >= d1) d1 += 365;
164 if (!a_farm->
SpringPlough(a_field, 0.0, g_date->DayInYear(30, 4) - g_date->DayInYear())) {
168 d1 = g_date->Date() + 7;
169 if (d1 < g_date->OldDays() + g_date->DayInYear(10, 4)) {
170 d1 = g_date->OldDays() + g_date->DayInYear(10, 4);
181 if (!a_farm->
FP_NPK(a_field, 0.0, g_date->DayInYear(30, 4) - g_date->DayInYear())) {
189 if (a_ev->
m_lock || a_farm->DoIt_prob(0.50))
191 if (!a_farm->FA_NPK(a_field, 0.0, g_date->DayInYear(30, 4) - g_date->DayInYear())) {
199 if (!a_farm->FP_NPK(a_field, 0.0, g_date->DayInYear(30, 4) - g_date->DayInYear())) {
206 if (!a_farm->FA_NPK(a_field, 0.0, g_date->DayInYear(30, 4) - g_date->DayInYear())) {
213 if (!a_farm->BedForming(a_field, 0.0, g_date->DayInYear(9, 5) - g_date->DayInYear())) {
220 if (!a_farm->SpringSow(a_field, 0.0, g_date->DayInYear(10, 5) - g_date->DayInYear())) {
228 if (a_farm->IsStockFarmer())
233 if (a_farm->IsStockFarmer())
240 if (a_field->GetSoilType() != 2 && a_field->GetSoilType() != 6)
242 if (a_ev->
m_lock || a_farm->DoIt_prob(0.25))
244 if (!a_farm->FP_AmmoniumSulphate(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
252 if (a_farm->IsStockFarmer())
259 if (a_field->GetSoilType() != 2 && a_field->GetSoilType() != 6)
261 if (a_ev->
m_lock || a_farm->DoIt_prob(0.25))
263 if (!a_farm->FA_AmmoniumSulphate(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
271 if (a_farm->IsStockFarmer())
278 if (!a_farm->FP_AmmoniumSulphate(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
286 if (!a_farm->FA_AmmoniumSulphate(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
294 if (a_ev->
m_lock || a_farm->DoIt_prob(0.25))
296 if (!a_farm->FP_ManganeseSulphate(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
304 if (a_ev->
m_lock || a_farm->DoIt_prob(0.25))
306 if (!a_farm->FA_ManganeseSulphate(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
314 if (!a_farm->HillingUp(a_field, 0.0, g_date->DayInYear(25, 5) - g_date->DayInYear())) {
321 if (a_ev->
m_lock || a_farm->DoIt_prob(0.80))
323 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(30, 5) - g_date->DayInYear())) {
334 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(15, 6) - g_date->DayInYear())) {
342 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(15, 10) - g_date->DayInYear())) {
350 if (a_ev->
m_lock || a_farm->DoIt_prob(0.75))
352 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(20, 10) - g_date->DayInYear())) {
360 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(7, 6) - g_date->DayInYear())) {
367 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(14, 6) - g_date->DayInYear())) {
374 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(21, 6) - g_date->DayInYear())) {
381 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
388 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(7, 7) - g_date->DayInYear())) {
395 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(14, 7) - g_date->DayInYear())) {
402 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(21, 7) - g_date->DayInYear())) {
409 if (a_ev->
m_lock || a_farm->DoIt_prob(0.80))
411 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(31, 7) - g_date->DayInYear())) {
422 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(7, 8) - g_date->DayInYear())) {
433 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(14, 8) - g_date->DayInYear())) {
444 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(21, 8) - g_date->DayInYear())) {
455 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(31, 8) - g_date->DayInYear())) {
466 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(7, 9) - g_date->DayInYear())) {
476 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(14, 9) - g_date->DayInYear())) {
486 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(21, 9) - g_date->DayInYear())) {
494 if (a_ev->
m_lock || a_farm->DoIt_prob(0.60))
500 if (!a_farm->InsecticideTreat(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
513 if (!a_farm->Harvest(a_field, 0.0, a_field->GetMDates(0, 0) - g_date->DayInYear())) {
522 g_msg->Warn(WARN_BUG,
"NLPotatoesSpring::Do(): "
523 "Unknown event type! ",
"");