26 #define _CRT_SECURE_NO_DEPRECATE
28 #include "../../Landscape/ls.h"
29 #include "../../Landscape/cropprogs/Carrots.h"
58 m_field->SetMDates( 0, 0, g_date->DayInYear( 8,9 ) );
60 m_field->SetMDates( 1, 0, g_date->DayInYear( 30, 11 ) );
71 g_msg->Warn( WARN_BUG,
"Carrots::Do(): ""Harvest too late for the next crop to start!!!",
"" );
75 for (
int i=0; i<noDates; i++) {
88 today = g_date->Date();
90 d1 = g_date->OldDays() + g_date->DayInYear( 1, 7 );
93 g_msg->Warn( WARN_BUG,
"Carrots::Do(): ""Crop start attempt between 1st Jan & 1st July",
"" );
99 g_msg->Warn( WARN_BUG,
"Carrots::Do(): ""Crop start attempt after last possible start date",
"" );
111 if ( g_date->Date() > d1 ) {
132 d1 = g_date->OldDays() + g_date->DayInYear( 5, 4 );
133 if ( g_date->Date() > d1 ) {
149 int d1 = g_date->OldDays() + g_date->DayInYear( 5, 4 );
150 if ( g_date->Date() > d1 ) {
158 int forceday = g_date->DayInYear( 5, 5 );
168 int d1 = g_date->OldDays() + g_date->DayInYear( 10, 4 );
169 if ( g_date->Date() > d1 ) {
182 int d1 = g_date->OldDays() + g_date->DayInYear( 20, 4 );
183 if ( g_date->Date() + 10 > d1 ) {
184 d1 = g_date->Date() + 10;
188 int d1 = g_date->OldDays() + g_date->DayInYear( 20, 4 );
189 if ( g_date->Date() + 10 > d1 ) {
190 d1 = g_date->Date() + 10;
192 if (g_date->DayInYear() >150) {
205 int d1 = g_date->OldDays() + g_date->DayInYear( 1, 5 );
206 if ( g_date->Date() > d1 ) {
219 Field * pf = dynamic_cast<Field*>(
m_field);
220 pf->Add_missed_herb_app();
221 if(
m_farm->
DoIt(50)) pf->Add_missed_herb_app();
222 if(
m_farm->
DoIt(50)) pf->Add_missed_herb_app();
223 if(
m_farm->
DoIt(50)) pf->Add_missed_herb_app();
233 d1 = g_date->OldDays() + g_date->DayInYear( 1, 5 );
234 if ( g_date->Date() > d1 ) {
247 int d1 = g_date->OldDays() + g_date->DayInYear( 12, 5 );
248 if ( g_date->Date() > d1 ) {
256 int d1 = g_date->OldDays() + g_date->DayInYear( 10, 5 );
257 if ( g_date->Date() > d1 ) {
272 int d1 = g_date->OldDays() + g_date->DayInYear( 20, 5 );
273 if ( g_date->Date() > d1 ) {
279 int d1 = g_date->OldDays() + g_date->DayInYear( 20, 5 );
280 if ( g_date->Date() + 10 > d1 ) {
281 d1 = g_date->Date() + 10;
293 Field * pf = dynamic_cast<Field*>(
m_field);
294 pf->Add_missed_fi_app();
315 int d1 = g_date->OldDays() + g_date->DayInYear( 1, 6 );
316 if ( g_date->Date() > d1 ) {
321 int d1 = g_date->OldDays() + g_date->DayInYear( 1, 6 );
322 if ( g_date->Date() > d1 ) {
328 int d1 = g_date->OldDays() + g_date->DayInYear( 1, 6 );
329 if ( g_date->Date() + 10 > d1 ) {
330 d1 = g_date->Date() + 10;
365 int d1 = g_date->OldDays() + g_date->DayInYear( 22, 5 );
366 if ( g_date->Date() + 10 > d1 ) {
367 d1 = g_date->Date() + 10;
379 int d1 = g_date->OldDays() + g_date->DayInYear( 2, 6 );
380 if ( g_date->Date() + 10 > d1 ) {
381 d1 = g_date->Date() + 10;
393 int d1 = g_date->OldDays() + g_date->DayInYear( 1, 7 );
394 if ( g_date->Date() + 3 > d1 ) {
395 d1 = g_date->Date() + 3;
402 if ( !
m_farm->
Water(
m_field, 0.0, g_date->DayInYear( 20, 7 ) - g_date->DayInYear() ) ) {
407 d1 = g_date->OldDays() + g_date->DayInYear( 20, 7 );
408 if ( g_date->Date() > d1 ) {
414 d1 = g_date->OldDays() + g_date->DayInYear( 21, 7 );
415 if ( g_date->Date() + 7 > d1 ) {
416 d1 = g_date->Date() + 7;
432 if ( !
m_farm->
Water(
m_field, 0.0, g_date->DayInYear( 10, 8 ) - g_date->DayInYear() ) ) {
437 int d1 = g_date->OldDays() + g_date->DayInYear( 11, 8 );
438 if ( g_date->Date() > d1 ) {
445 int d1 = g_date->OldDays() + g_date->DayInYear( 25, 8 );
446 if ( g_date->Date() > d1 ) {
451 d1 = g_date->OldDays() + g_date->DayInYear( 25, 8 );
452 if ( g_date->Date() > d1 ) {
479 if ( !
m_farm->
Water(
m_field, 0.0, g_date->DayInYear( 6, 9 ) - g_date->DayInYear() ) ) {
485 d1 = g_date->OldDays() + g_date->DayInYear( 20, 8 );
486 if ( g_date->Date() + 7 > d1 ) {
487 d1 = g_date->Date() + 7;
490 if(d1 >
m_field->GetMDates( 1, 0 ) - 2){
491 d1 =
m_field->GetMDates( 1, 0 ) - 2;
503 Field * pf = dynamic_cast<Field*>(
m_field);
504 pf->Add_missed_fi_app();
514 int d1 = g_date->OldDays() + g_date->DayInYear( 1, 9 );
515 if ( g_date->Date() + 7 > d1 ) {
516 d1 = g_date->Date() + 7;
518 if(d1 >
m_field->GetMDates( 1, 0 ) - 1){
519 d1 =
m_field->GetMDates( 1, 0 ) - 1;
527 if (
m_field->GetMConstants(0)==0) {
529 g_msg->Warn( WARN_BUG,
"Carrots::Do(): failure in 'Harvest' execution",
"" );
543 g_msg->Warn( WARN_BUG,
"Carrots::Do(): ""Unknown event type! ",
"" );