mirror of https://github.com/OpenTTD/OpenTTD
This also changes ScriptEventVehicleAutoReplaced when replacing wagons: The event is now only spawned, if the head engine changes, so only if the VehicleID of the consist changes. Previously replacing wagons spawned an event with OldVehicleID==NewVehicleID.pull/9261/head
parent
f6d5c0136e
commit
5bd8144853
|
@ -614,6 +614,7 @@ static CommandCost ReplaceChain(Vehicle **chain, DoCommandFlag flags, bool wagon
|
||||||
/* Success ! */
|
/* Success ! */
|
||||||
if ((flags & DC_EXEC) != 0 && new_head != old_head) {
|
if ((flags & DC_EXEC) != 0 && new_head != old_head) {
|
||||||
*chain = new_head;
|
*chain = new_head;
|
||||||
|
AI::NewEvent(old_head->owner, new ScriptEventVehicleAutoReplaced(old_head->index, new_head->index));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Transfer cargo of old vehicles and sell them */
|
/* Transfer cargo of old vehicles and sell them */
|
||||||
|
@ -631,10 +632,7 @@ static CommandCost ReplaceChain(Vehicle **chain, DoCommandFlag flags, bool wagon
|
||||||
cost.AddCost(DoCommand(0, w->index, 0, flags | DC_AUTOREPLACE, GetCmdSellVeh(w)));
|
cost.AddCost(DoCommand(0, w->index, 0, flags | DC_AUTOREPLACE, GetCmdSellVeh(w)));
|
||||||
if ((flags & DC_EXEC) != 0) {
|
if ((flags & DC_EXEC) != 0) {
|
||||||
old_vehs[i] = nullptr;
|
old_vehs[i] = nullptr;
|
||||||
if (i == 0) {
|
if (i == 0) old_head = nullptr;
|
||||||
AI::NewEvent(old_head->owner, new ScriptEventVehicleAutoReplaced(old_head->index, new_head->index));
|
|
||||||
old_head = nullptr;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue