mirror of https://github.com/OpenTTD/OpenTTD.git
Update: add setting to hide news about competitors vehicle crash (#9653)
This commit is contained in:
parent
b4bd7b367e
commit
c38af72978
|
@ -1341,7 +1341,12 @@ static void CrashAirplane(Aircraft *v)
|
|||
AI::NewEvent(v->owner, new ScriptEventVehicleCrashed(v->index, vt, st == nullptr ? ScriptEventVehicleCrashed::CRASH_AIRCRAFT_NO_AIRPORT : ScriptEventVehicleCrashed::CRASH_PLANE_LANDING));
|
||||
Game::NewEvent(new ScriptEventVehicleCrashed(v->index, vt, st == nullptr ? ScriptEventVehicleCrashed::CRASH_AIRCRAFT_NO_AIRPORT : ScriptEventVehicleCrashed::CRASH_PLANE_LANDING));
|
||||
|
||||
AddTileNewsItem(newsitem, NT_ACCIDENT, vt, nullptr, st != nullptr ? st->index : INVALID_STATION);
|
||||
NewsType newstype = NT_ACCIDENT;
|
||||
if (v->owner != _local_company) {
|
||||
newstype = NT_ACCIDENT_OTHER;
|
||||
}
|
||||
|
||||
AddTileNewsItem(newsitem, newstype, vt, nullptr, st != nullptr ? st->index : INVALID_STATION);
|
||||
|
||||
ModifyStationRatingAround(vt, v->owner, -160, 30);
|
||||
if (_settings_client.sound.disaster) SndPlayVehicleFx(SND_12_EXPLOSION, v);
|
||||
|
|
|
@ -1743,6 +1743,9 @@ STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Display a newsp
|
|||
STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Accidents / disasters: {STRING2}
|
||||
STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Display a newspaper when accidents or disasters occur
|
||||
|
||||
STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER :Accidents of competitor's vehicles: {STRING2}
|
||||
STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER_HELPTEXT :Display a newspaper about crashed vehicles for competitors
|
||||
|
||||
STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Company information: {STRING2}
|
||||
STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Display a newspaper when a new company starts, or when companies are risking to bankrupt
|
||||
|
||||
|
|
|
@ -231,6 +231,7 @@ static NewsTypeData _news_type_data[] = {
|
|||
NewsTypeData("news_display.arrival_player", 60, SND_1D_APPLAUSE ), ///< NT_ARRIVAL_COMPANY
|
||||
NewsTypeData("news_display.arrival_other", 60, SND_1D_APPLAUSE ), ///< NT_ARRIVAL_OTHER
|
||||
NewsTypeData("news_display.accident", 90, SND_BEGIN ), ///< NT_ACCIDENT
|
||||
NewsTypeData("news_display.accident_other", 90, SND_BEGIN ), ///< NT_ACCIDENT_OTHER
|
||||
NewsTypeData("news_display.company_info", 60, SND_BEGIN ), ///< NT_COMPANY_INFO
|
||||
NewsTypeData("news_display.open", 90, SND_BEGIN ), ///< NT_INDUSTRY_OPEN
|
||||
NewsTypeData("news_display.close", 90, SND_BEGIN ), ///< NT_INDUSTRY_CLOSE
|
||||
|
|
|
@ -22,6 +22,7 @@ enum NewsType {
|
|||
NT_ARRIVAL_COMPANY, ///< First vehicle arrived for company
|
||||
NT_ARRIVAL_OTHER, ///< First vehicle arrived for competitor
|
||||
NT_ACCIDENT, ///< An accident or disaster has occurred
|
||||
NT_ACCIDENT_OTHER, ///< An accident or disaster has occurred
|
||||
NT_COMPANY_INFO, ///< Company info (new companies, bankruptcy messages)
|
||||
NT_INDUSTRY_OPEN, ///< Opening of industries
|
||||
NT_INDUSTRY_CLOSE, ///< Closing of industries
|
||||
|
|
|
@ -553,7 +553,13 @@ static void RoadVehCrash(RoadVehicle *v)
|
|||
|
||||
SetDParam(0, pass);
|
||||
StringID newsitem = (pass == 1) ? STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER : STR_NEWS_ROAD_VEHICLE_CRASH;
|
||||
AddTileNewsItem(newsitem, NT_ACCIDENT, v->tile);
|
||||
NewsType newstype = NT_ACCIDENT;
|
||||
|
||||
if (v->owner != _local_company) {
|
||||
newstype = NT_ACCIDENT_OTHER;
|
||||
}
|
||||
|
||||
AddTileNewsItem(newsitem, newstype, v->tile);
|
||||
|
||||
ModifyStationRatingAround(v->tile, v->owner, -160, 22);
|
||||
if (_settings_client.sound.disaster) SndPlayVehicleFx(SND_12_EXPLOSION, v);
|
||||
|
|
|
@ -1648,6 +1648,7 @@ static SettingsContainer &GetSettingsTree()
|
|||
advisors->Add(new SettingEntry("news_display.general"));
|
||||
advisors->Add(new SettingEntry("news_display.new_vehicles"));
|
||||
advisors->Add(new SettingEntry("news_display.accident"));
|
||||
advisors->Add(new SettingEntry("news_display.accident_other"));
|
||||
advisors->Add(new SettingEntry("news_display.company_info"));
|
||||
advisors->Add(new SettingEntry("news_display.acceptance"));
|
||||
advisors->Add(new SettingEntry("news_display.arrival_player"));
|
||||
|
|
|
@ -242,6 +242,7 @@ struct NewsSettings {
|
|||
uint8 arrival_player; ///< NewsDisplay of vehicles arriving at new stations of current player
|
||||
uint8 arrival_other; ///< NewsDisplay of vehicles arriving at new stations of other players
|
||||
uint8 accident; ///< NewsDisplay of accidents that occur
|
||||
uint8 accident_other; ///< NewsDisplay if a vehicle from another company is involved in an accident
|
||||
uint8 company_info; ///< NewsDisplay of general company information
|
||||
uint8 open; ///< NewsDisplay on new industry constructions
|
||||
uint8 close; ///< NewsDisplay about closing industries
|
||||
|
|
|
@ -67,6 +67,17 @@ str = STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS
|
|||
strhelp = STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
|
||||
|
||||
[SDTC_OMANY]
|
||||
var = news_display.accident_other
|
||||
type = SLE_UINT8
|
||||
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
|
||||
def = 2
|
||||
max = 2
|
||||
full = _news_display
|
||||
str = STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER
|
||||
strhelp = STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
|
||||
|
||||
[SDTC_OMANY]
|
||||
var = news_display.company_info
|
||||
type = SLE_UINT8
|
||||
|
|
Loading…
Reference in New Issue