diff --git a/server/src/lib.rs b/server/src/lib.rs index 27f65c897f..4b3b7629e4 100644 --- a/server/src/lib.rs +++ b/server/src/lib.rs @@ -482,7 +482,14 @@ impl Server { }, ClientMsg::Attack => match client.client_state { ClientState::Character => { - state.write_component(entity, comp::Attacking::start()); + if state + .ecs() + .read_storage::() + .get(entity) + .is_none() + { + state.write_component(entity, comp::Attacking::start()); + } } _ => client.error_state(RequestStateError::Impossible), },