Mercurial > hg > openttd
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); |