|
@@ -24,12 +24,13 @@
|
|
|
#include "tunnelbridge_map.h"
|
|
|
#include "window_func.h"
|
|
|
#include "date_func.h"
|
|
|
#include "vehicle_func.h"
|
|
|
#include "sound_func.h"
|
|
|
#include "ai/ai.hpp"
|
|
|
#include "game/game.hpp"
|
|
|
#include "depot_map.h"
|
|
|
#include "effectvehicle_func.h"
|
|
|
#include "roadstop_base.h"
|
|
|
#include "spritecache.h"
|
|
|
#include "core/random_func.hpp"
|
|
|
#include "company_base.h"
|
|
@@ -518,12 +519,13 @@ uint RoadVehicle::Crash(bool flooded)
|
|
|
|
|
|
static void RoadVehCrash(RoadVehicle *v)
|
|
|
{
|
|
|
uint pass = v->Crash();
|
|
|
|
|
|
AI::NewEvent(v->owner, new ScriptEventVehicleCrashed(v->index, v->tile, ScriptEventVehicleCrashed::CRASH_RV_LEVEL_CROSSING));
|
|
|
Game::NewEvent(new ScriptEventVehicleCrashed(v->index, v->tile, ScriptEventVehicleCrashed::CRASH_RV_LEVEL_CROSSING));
|
|
|
|
|
|
SetDParam(0, pass);
|
|
|
AddVehicleNewsItem(
|
|
|
(pass == 1) ?
|
|
|
STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER : STR_NEWS_ROAD_VEHICLE_CRASH,
|
|
|
NS_ACCIDENT,
|
|
@@ -666,12 +668,13 @@ static void RoadVehArrivesAt(const RoadV
|
|
|
v->roadtype == ROADTYPE_ROAD ? STR_NEWS_FIRST_BUS_ARRIVAL : STR_NEWS_FIRST_PASSENGER_TRAM_ARRIVAL,
|
|
|
(v->owner == _local_company) ? NS_ARRIVAL_COMPANY : NS_ARRIVAL_OTHER,
|
|
|
v->index,
|
|
|
st->index
|
|
|
);
|
|
|
AI::NewEvent(v->owner, new ScriptEventStationFirstVehicle(st->index, v->index));
|
|
|
Game::NewEvent(new ScriptEventStationFirstVehicle(st->index, v->index));
|
|
|
}
|
|
|
} else {
|
|
|
/* Check if station was ever visited before */
|
|
|
if (!(st->had_vehicle_of_type & HVOT_TRUCK)) {
|
|
|
st->had_vehicle_of_type |= HVOT_TRUCK;
|
|
|
SetDParam(0, st->index);
|
|
@@ -679,12 +682,13 @@ static void RoadVehArrivesAt(const RoadV
|
|
|
v->roadtype == ROADTYPE_ROAD ? STR_NEWS_FIRST_TRUCK_ARRIVAL : STR_NEWS_FIRST_CARGO_TRAM_ARRIVAL,
|
|
|
(v->owner == _local_company) ? NS_ARRIVAL_COMPANY : NS_ARRIVAL_OTHER,
|
|
|
v->index,
|
|
|
st->index
|
|
|
);
|
|
|
AI::NewEvent(v->owner, new ScriptEventStationFirstVehicle(st->index, v->index));
|
|
|
Game::NewEvent(new ScriptEventStationFirstVehicle(st->index, v->index));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* This function looks at the vehicle and updates its speed (cur_speed
|