|
@@ -30,12 +30,13 @@
|
|
|
#include "aircraft.h"
|
|
|
#include "newgrf_engine.h"
|
|
|
#include "newgrf_sound.h"
|
|
|
#include "newgrf_callbacks.h"
|
|
|
#include "unmovable.h"
|
|
|
#include "date.h"
|
|
|
#include "cargotype.h"
|
|
|
|
|
|
// Score info
|
|
|
const ScoreInfo _score_info[] = {
|
|
|
{ SCORE_VEHICLES, 120, 100 },
|
|
|
{ SCORE_STATIONS, 80, 100 },
|
|
|
{ SCORE_MIN_PROFIT, 10000, 100 },
|
|
@@ -804,13 +805,14 @@ Pair SetupSubsidyDecodeParam(const Subsi
|
|
|
{
|
|
|
TileIndex tile;
|
|
|
TileIndex tile2;
|
|
|
Pair tp;
|
|
|
|
|
|
/* if mode is false, use the singular form */
|
|
|
SetDParam(0, _cargoc.names_s[s->cargo_type] + (mode ? 0 : 32));
|
|
|
const CargoSpec *cs = GetCargo(s->cargo_type);
|
|
|
SetDParam(0, mode ? cs->name_plural : cs->name);
|
|
|
|
|
|
if (s->age < 12) {
|
|
|
if (s->cargo_type != CT_PASSENGERS && s->cargo_type != CT_MAIL) {
|
|
|
SetDParam(1, STR_INDUSTRY);
|
|
|
SetDParam(2, s->from);
|
|
|
tile = GetIndustry(s->from)->xy;
|
|
@@ -1084,25 +1086,26 @@ static void Load_SUBS(void)
|
|
|
SlObject(&_subsidies[index], _subsidies_desc);
|
|
|
}
|
|
|
|
|
|
int32 GetTransportedGoodsIncome(uint num_pieces, uint dist, byte transit_days, CargoID cargo_type)
|
|
|
{
|
|
|
CargoID cargo = cargo_type;
|
|
|
const CargoSpec *cs = GetCargo(cargo_type);
|
|
|
byte f;
|
|
|
|
|
|
/* zero the distance if it's the bank and very short transport. */
|
|
|
if (_opt.landscape == LT_NORMAL && cargo == CT_VALUABLES && dist < 10)
|
|
|
dist = 0;
|
|
|
|
|
|
f = 255;
|
|
|
if (transit_days > _cargoc.transit_days_1[cargo]) {
|
|
|
transit_days -= _cargoc.transit_days_1[cargo];
|
|
|
if (transit_days > cs->transit_days[0]) {
|
|
|
transit_days -= cs->transit_days[0];
|
|
|
f -= transit_days;
|
|
|
|
|
|
if (transit_days > _cargoc.transit_days_2[cargo]) {
|
|
|
transit_days -= _cargoc.transit_days_2[cargo];
|
|
|
if (transit_days > cs->transit_days[1]) {
|
|
|
transit_days -= cs->transit_days[1];
|
|
|
|
|
|
if (f < transit_days) {
|
|
|
f = 0;
|
|
|
} else {
|
|
|
f -= transit_days;
|
|
|
}
|