# `QuakeServer.Q`
[🔗](https://github.com/jaman/quake_server/blob/v0.1.0/lib/quake_server/q.ex#L1)

The fixed numbers QuakeC programs share with FTE's server: move types, solid kinds,
entity flags, contents, effects, spawn flags and message types.

    QuakeServer.Q.movetype(:walk)
    #=> 3

# `brush?`

```elixir
@spec brush?(integer()) :: boolean()
```

Whether solid kind `solid` collides by a brush model's shape (`:bsp` or `:bsp_trigger`).

# `clear_flag`

```elixir
@spec clear_flag(number(), atom()) :: float()
```

The flags value with flag `name` cleared.

# `contents`

```elixir
@spec contents(atom()) :: integer()
```

The contents value `name`.

# `effect`

```elixir
@spec effect(atom()) :: integer()
```

The bit of effect `name`.

# `flag`

```elixir
@spec flag(atom()) :: integer()
```

The bit of entity flag `name`.

# `flag?`

```elixir
@spec flag?(number(), atom()) :: boolean()
```

Whether the flags value `value` has flag `name` set.

# `inhibited?`

```elixir
@spec inhibited?(number(), 0..3, boolean()) :: boolean()
```

Whether a spawn flags value keeps an entity out of a game at `skill` (0 to 3), deathmatch or not.

# `movetype`

```elixir
@spec movetype(atom()) :: integer()
```

The number of move type `name`.

# `set_flag`

```elixir
@spec set_flag(number(), atom()) :: float()
```

The flags value with flag `name` set.

# `skill_inhibited?`

```elixir
@spec skill_inhibited?(number(), 0..3) :: boolean()
```

Whether a spawn flags value keeps an entity out of a single-player game at `skill` (0 to 3).

# `solid`

```elixir
@spec solid(atom()) :: integer()
```

The number of solid kind `name`.

# `trigger?`

```elixir
@spec trigger?(integer()) :: boolean()
```

Whether solid kind `solid` is a trigger: a box (`:trigger`) or a brush model's shape (`:bsp_trigger`).

---

*Consult [api-reference.md](api-reference.md) for complete listing*
