43 #include "../../Landscape/ls.h"
44 #include "../../Landscape/cropprogs/NLCabbageSpring.h"
83 a_field->SetMDates(0, 0, g_date->DayInYear(30, 10));
84 a_field->SetMDates(1, 0, g_date->DayInYear(30, 10));
86 a_field->SetMConstants(0, 1);
96 if (a_ev->
m_startday > g_date->DayInYear(1, 7)) {
97 if (a_field->GetMDates(0, 0) >= a_ev->
m_startday)
99 g_msg->Warn(WARN_BUG,
"NLCabbageSpring::Do(): ",
"Harvest too late for the next crop to start!!!");
101 g_msg->Warn(
"Next Crop ", (
double)almassnum);
104 for (
int i = 0; i < noDates; i++) {
105 if (a_field->GetMDates(0, i) >= a_ev->
m_startday) {
106 a_field->SetMDates(0, i, a_ev->
m_startday - 1);
108 if (a_field->GetMDates(1, i) >= a_ev->
m_startday) {
109 a_field->SetMConstants(i, 0);
110 a_field->SetMDates(1, i, a_ev->
m_startday - 1);
118 if (g_date->Date() > d1) {
120 g_msg->Warn(WARN_BUG,
"NLCabbageSpring::Do(): ",
"Crop start attempt after last possible start date");
122 g_msg->Warn(WARN_BUG,
"Previous Crop ", prev);
124 g_msg->Warn(
"Next Crop ", (
double)almassnum);
136 d1 = g_date->OldDays() + g_date->DayInYear(15, 3);
137 if (g_date->Date() >= d1) d1 += 365;
140 if (a_field->GetSoilType() == 2 || a_field->GetSoilType() == 6) {
145 d1 = g_date->OldDays() + g_date->DayInYear(10, 4);
146 if (g_date->Date() >= d1) d1 += 365;
161 if (!a_farm->
SpringPlough(a_field, 0.0, g_date->DayInYear(15, 4) - g_date->DayInYear())) {
166 d1 = g_date->Date() + 7;
167 if (d1 < g_date->OldDays() + g_date->DayInYear(10, 4)) {
168 d1 = g_date->OldDays() + g_date->DayInYear(10, 4);
179 if (!a_farm->
FA_NPK(a_field, 0.0, g_date->DayInYear(30, 4) - g_date->DayInYear())) {
184 d1 = g_date->Date() + 1;
185 if (d1 < g_date->OldDays() + g_date->DayInYear(25, 4)) {
186 d1 = g_date->OldDays() + g_date->DayInYear(25, 4);
193 if (!a_farm->
FP_NPK(a_field, 0.0, g_date->DayInYear(30, 4) - g_date->DayInYear())) {
198 d1 = g_date->Date() + 1;
199 if (d1 < g_date->OldDays() + g_date->DayInYear(25, 4)) {
200 d1 = g_date->OldDays() + g_date->DayInYear(25, 4);
205 if (!a_farm->
PreseedingCultivator(a_field, 0.0, g_date->DayInYear(14, 5) - g_date->DayInYear())) {
213 if (!a_farm->SpringSow(a_field, 0.0, g_date->DayInYear(15, 5) - g_date->DayInYear())) {
222 if (a_farm->IsStockFarmer())
227 if (a_farm->IsStockFarmer())
234 if (!a_farm->FA_AmmoniumSulphate(a_field, 0.0, g_date->DayInYear(25, 5) - g_date->DayInYear())) {
238 if (a_farm->IsStockFarmer())
245 if (!a_farm->FP_AmmoniumSulphate(a_field, 0.0, g_date->DayInYear(25, 5) - g_date->DayInYear())) {
249 if (a_farm->IsStockFarmer())
256 if (a_ev->
m_lock || a_farm->DoIt_prob(0.60))
258 if (!a_farm->FA_AmmoniumSulphate(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
266 if (a_ev->
m_lock || a_farm->DoIt_prob(0.60))
268 if (!a_farm->FP_AmmoniumSulphate(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
276 if (a_ev->
m_lock || a_farm->DoIt_prob(0.50))
278 if (!a_farm->FA_ManganeseSulphate(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
286 if (a_ev->
m_lock || a_farm->DoIt_prob(0.50))
288 if (!a_farm->FP_ManganeseSulphate(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
296 if (a_ev->
m_lock || a_farm->DoIt_prob(0.50))
298 if (!a_farm->Water(a_field, 0.0, g_date->DayInYear(15, 8) - g_date->DayInYear())) {
306 if (a_field->GetGreenBiomass() <= 0) {
311 if (a_ev->
m_lock || a_farm->DoIt_prob(0.20))
313 if (!a_farm->ShallowHarrow(a_field, 0.0, g_date->DayInYear(15, 6) - g_date->DayInYear())) {
325 if (a_field->GetGreenBiomass() <= 0) {
330 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(25, 5) - g_date->DayInYear())) {
339 if (!a_farm->ShallowHarrow(a_field, 0.0, g_date->DayInYear(15, 6) - g_date->DayInYear())) {
347 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(25, 7) - g_date->DayInYear())) {
354 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(20, 8) - g_date->DayInYear())) {
361 if (a_ev->
m_lock || a_farm->DoIt_prob(0.80))
363 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(5, 9) - g_date->DayInYear())) {
376 if (!a_farm->InsecticideTreat(a_field, 0.0, g_date->DayInYear(10, 9) - g_date->DayInYear())) {
391 if (!a_farm->InsecticideTreat(a_field, 0.0, g_date->DayInYear(25, 9) - g_date->DayInYear())) {
406 if (!a_farm->InsecticideTreat(a_field, 0.0, g_date->DayInYear(5, 10) - g_date->DayInYear())) {
419 if (!a_farm->Harvest(a_field, 0.0, a_field->GetMDates(0, 0) - g_date->DayInYear())) {
428 g_msg->Warn(WARN_BUG,
"NLCabbageSpring::Do(): "
429 "Unknown event type! ",
"");