25 #include "../../Landscape/ls.h"
26 #include "../../Landscape/cropprogs/winterrapestrigling.h"
56 m_field->SetMDates(0,0,g_date->DayInYear(1,8));
58 m_field->SetMDates(1,0,g_date->DayInYear(1,8));
59 m_field->SetMDates(0,1,g_date->DayInYear(25,7));
60 m_field->SetMDates(1,1,g_date->DayInYear(15,8));
61 m_field->SetMDates(0,2,g_date->DayInYear(1,8));
62 m_field->SetMDates(1,2,g_date->DayInYear(15,10));
70 g_msg->Warn( WARN_BUG,
"WinterRapeStrigling::Do(): "
71 "Harvest too late for the next crop to start!!!",
"" );
75 for (
int i=0; i<noDates; i++) {
87 d1 = g_date->OldDays() + g_date->DayInYear( 1,7 );
88 if (g_date->Date() < d1)
91 g_msg->Warn( WARN_BUG,
"WinterRapeStrigling::Do(): "
92 "Crop start attempt between 1st Jan & 1st July",
"" );
98 if (g_date->Date() > d1)
101 g_msg->Warn( WARN_BUG,
"WinterRapeStrigling::Do(): "
102 "Crop start attempt after last possible start date",
"" );
110 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 5,7 )
117 d1 = g_date->OldDays() + g_date->DayInYear( 21,8 );
118 if ( g_date->Date() > d1 ) {
131 g_date->DayInYear( 24, 8 ) - g_date->DayInYear())) {
137 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 1, 8 ),
144 g_date->DayInYear( 25, 8 ) - g_date->DayInYear())) {
153 g_date->DayInYear( 25, 8 ) - g_date->DayInYear()))
159 long newdate1 = g_date->OldDays() + g_date->DayInYear( 10, 8 );
160 long newdate2 = g_date->Date();
161 if ( newdate2 > newdate1 ) newdate1 = newdate2;
168 g_date->DayInYear( 25, 8 ) - g_date->DayInYear())) {
172 d1 = g_date->Date() + 10;
173 if ( d1 < g_date->OldDays() + g_date->DayInYear( 20, 8 ))
174 d1 = g_date->OldDays() + g_date->DayInYear( 20, 8 );
180 g_date->DayInYear( 20, 9 ) -
181 g_date->DayInYear())) {
186 d1 = g_date->Date() + 7;
187 if ( d1 < g_date->OldDays() + g_date->DayInYear( 28, 8 ))
188 d1 = g_date->OldDays() + g_date->DayInYear( 28, 8 );
195 g_date->DayInYear( 30, 9 ) -
196 g_date->DayInYear())) {
202 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 1,3 )+365,
204 else SimpleEvent( g_date->OldDays() + g_date->DayInYear( 1,4 )+365,
206 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 15,4 )+365,
208 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 20,5 )+365,
210 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 1,4 )+365,
214 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 5,7 )+365,
221 g_date->DayInYear( 15, 4 ) - g_date->DayInYear())) {
225 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 20, 4 ),
232 g_date->DayInYear( 1, 5 ) - g_date->DayInYear())) {
240 g_date->DayInYear( 30, 4 ) - g_date->DayInYear())) {
244 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 1,4 ),
250 g_date->DayInYear( 30,4 ) - g_date->DayInYear())) {
260 g_date->DayInYear( 30, 4 ) - g_date->DayInYear()))
268 long newdate1 = g_date->OldDays() + g_date->DayInYear( 1, 5 );
269 long newdate2 = g_date->Date() + 7;
270 if ( newdate2 > newdate1 )
289 g_date->DayInYear( 30, 5 ) - g_date->DayInYear())) {
296 long newdate1 = g_date->OldDays() + g_date->DayInYear( 20, 6 );
297 long newdate2 = g_date->Date() + 7;
298 if ( newdate2 > newdate1 ) newdate1 = newdate2;
315 g_date->DayInYear( 1, 7 ) - g_date->DayInYear())) {
334 g_date->DayInYear( 1, 6 ) - g_date->DayInYear())) {
351 g_date->DayInYear( 25, 4 ) - g_date->DayInYear())) {
357 long newdate1 = g_date->OldDays() + g_date->DayInYear( 25, 4 );
358 long newdate2 = g_date->Date() + 5;
359 if ( newdate2 > newdate1 )
370 g_date->DayInYear( 1, 5 ) - g_date->DayInYear())) {
381 g_date->DayInYear( 25, 7 ) - g_date->DayInYear())) {
387 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 10, 7 ),
398 else EndDate=g_date->DayInYear( 1, 8 );
400 EndDate - g_date->DayInYear()))
407 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 10, 7 ),
410 else SimpleEvent( g_date->OldDays() + g_date->DayInYear( 25, 7 ),
417 g_date->DayInYear( 1, 8 ) - g_date->DayInYear())) {
421 if (g_date->DayInYear()<g_date->DayInYear(15,7))
422 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 15, 7 ),
429 g_date->DayInYear( 1, 8 ) - g_date->DayInYear())) {
433 if (g_date->DayInYear()<g_date->DayInYear(15,7))
434 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 15, 7 ),
443 m_field->GetMDates(1,1) - g_date->DayInYear())) {
448 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 1, 8 ),
455 m_field->GetMDates(1,2) - g_date->DayInYear())) {
466 g_msg->Warn( WARN_BUG,
"WinterRapeStrigling::Do(): "
467 "Unknown event type! ",
"" );