comparison src/economy.cpp @ 12010:d0bf08a7c260 draft

(svn r16416) -Fix [FS#2912]: Rework deleting of news when referenced vehicles/stations/industries are deleted.
author frosch <frosch@openttd.org>
date Sun, 24 May 2009 16:52:42 +0000
parents 2dd20683fcbb
children da0c682ff327
comparison
equal deleted inserted replaced
12009:5ac019d48a1b 12010:d0bf08a7c260
479 479
480 case 2: 480 case 2:
481 SetDParam(0, STR_NEWS_COMPANY_IN_TROUBLE_TITLE); 481 SetDParam(0, STR_NEWS_COMPANY_IN_TROUBLE_TITLE);
482 SetDParam(1, STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION); 482 SetDParam(1, STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION);
483 SetDParamStr(2, cni->company_name); 483 SetDParamStr(2, cni->company_name);
484 AddNewsItem(STR_NEWS_MESSAGE, NS_COMPANY_TROUBLE, 0, 0, cni); 484 AddCompanyNewsItem(STR_NEWS_MESSAGE, NS_COMPANY_TROUBLE, cni);
485 AI::BroadcastNewEvent(new AIEventCompanyInTrouble(c->index)); 485 AI::BroadcastNewEvent(new AIEventCompanyInTrouble(c->index));
486 break; 486 break;
487 case 3: { 487 case 3: {
488 /* XXX - In multiplayer, should we ask other companies if it wants to take 488 /* XXX - In multiplayer, should we ask other companies if it wants to take
489 over when it is a human company? -- TrueLight */ 489 over when it is a human company? -- TrueLight */
490 if (IsHumanCompany(c->index)) { 490 if (IsHumanCompany(c->index)) {
491 SetDParam(0, STR_NEWS_COMPANY_IN_TROUBLE_TITLE); 491 SetDParam(0, STR_NEWS_COMPANY_IN_TROUBLE_TITLE);
492 SetDParam(1, STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION); 492 SetDParam(1, STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION);
493 SetDParamStr(2, cni->company_name); 493 SetDParamStr(2, cni->company_name);
494 AddNewsItem(STR_NEWS_MESSAGE, NS_COMPANY_TROUBLE, 0, 0, cni); 494 AddCompanyNewsItem(STR_NEWS_MESSAGE, NS_COMPANY_TROUBLE, cni);
495 break; 495 break;
496 } 496 }
497 497
498 /* Check if the company has any value.. if not, declare it bankrupt 498 /* Check if the company has any value.. if not, declare it bankrupt
499 * right now */ 499 * right now */
524 524
525 /* Show bankrupt news */ 525 /* Show bankrupt news */
526 SetDParam(0, STR_NEWS_COMPANY_BANKRUPT_TITLE); 526 SetDParam(0, STR_NEWS_COMPANY_BANKRUPT_TITLE);
527 SetDParam(1, STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION); 527 SetDParam(1, STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION);
528 SetDParamStr(2, cni->company_name); 528 SetDParamStr(2, cni->company_name);
529 AddNewsItem(STR_NEWS_MESSAGE, NS_COMPANY_BANKRUPT, 0, 0, cni); 529 AddCompanyNewsItem(STR_NEWS_MESSAGE, NS_COMPANY_BANKRUPT, cni);
530 530
531 /* Remove the company */ 531 /* Remove the company */
532 ChangeNetworkOwner(c->index, COMPANY_SPECTATOR); 532 ChangeNetworkOwner(c->index, COMPANY_SPECTATOR);
533 ChangeOwnershipOfCompanyItems(c->index, INVALID_OWNER); 533 ChangeOwnershipOfCompanyItems(c->index, INVALID_OWNER);
534 534
666 { 666 {
667 if (_settings_game.difficulty.economy == 0) return; 667 if (_settings_game.difficulty.economy == 0) return;
668 668
669 if (--_economy.fluct == 0) { 669 if (--_economy.fluct == 0) {
670 _economy.fluct = -(int)GB(Random(), 0, 2); 670 _economy.fluct = -(int)GB(Random(), 0, 2);
671 AddNewsItem(STR_NEWS_BEGIN_OF_RECESSION, NS_ECONOMY, 0, 0); 671 AddNewsItem(STR_NEWS_BEGIN_OF_RECESSION, NS_ECONOMY);
672 } else if (_economy.fluct == -12) { 672 } else if (_economy.fluct == -12) {
673 _economy.fluct = GB(Random(), 0, 8) + 312; 673 _economy.fluct = GB(Random(), 0, 8) + 312;
674 AddNewsItem(STR_NEWS_END_OF_RECESSION, NS_ECONOMY, 0, 0); 674 AddNewsItem(STR_NEWS_END_OF_RECESSION, NS_ECONOMY);
675 } 675 }
676 } 676 }
677 677
678 static byte _price_category[NUM_PRICES] = { 678 static byte _price_category[NUM_PRICES] = {
679 0, 2, 2, 2, 2, 2, 2, 2, 679 0, 2, 2, 2, 2, 2, 2, 2,
1505 SetDParam(0, STR_NEWS_COMPANY_MERGER_TITLE); 1505 SetDParam(0, STR_NEWS_COMPANY_MERGER_TITLE);
1506 SetDParam(1, c->bankrupt_value == 0 ? STR_NEWS_MERGER_TAKEOVER_TITLE : STR_NEWS_COMPANY_MERGER_DESCRIPTION); 1506 SetDParam(1, c->bankrupt_value == 0 ? STR_NEWS_MERGER_TAKEOVER_TITLE : STR_NEWS_COMPANY_MERGER_DESCRIPTION);
1507 SetDParamStr(2, cni->company_name); 1507 SetDParamStr(2, cni->company_name);
1508 SetDParamStr(3, cni->other_company_name); 1508 SetDParamStr(3, cni->other_company_name);
1509 SetDParam(4, c->bankrupt_value); 1509 SetDParam(4, c->bankrupt_value);
1510 AddNewsItem(STR_NEWS_MESSAGE, NS_COMPANY_MERGER, 0, 0, cni); 1510 AddCompanyNewsItem(STR_NEWS_MESSAGE, NS_COMPANY_MERGER, cni);
1511 AI::BroadcastNewEvent(new AIEventCompanyMerger(ci, _current_company)); 1511 AI::BroadcastNewEvent(new AIEventCompanyMerger(ci, _current_company));
1512 1512
1513 /* original code does this a little bit differently */ 1513 /* original code does this a little bit differently */
1514 ChangeNetworkOwner(ci, _current_company); 1514 ChangeNetworkOwner(ci, _current_company);
1515 ChangeOwnershipOfCompanyItems(ci, _current_company); 1515 ChangeOwnershipOfCompanyItems(ci, _current_company);