diff --git a/server/src/train/train.cpp b/server/src/train/train.cpp index 48d3d950..105d1299 100644 --- a/server/src/train/train.cpp +++ b/server/src/train/train.cpp @@ -346,7 +346,26 @@ void Train::worldEvent(WorldState state, WorldEvent event) { IdObject::worldEvent(state, event); - updateEnabled(); + switch(event) + { + case WorldEvent::EditEnabled: + case WorldEvent::EditDisabled: + updateEnabled(); + break; + + case WorldEvent::Mute: + case WorldEvent::Unmute: + updateMute(); + break; + + case WorldEvent::NoSmoke: + case WorldEvent::Smoke: + updateNoSmoke(); + break; + + default: + break; + } } void Train::setSpeed(const double kmph)