ElixirDoom.Specials.Floors (elixir_doom v0.1.0)

Copy Markdown View Source

Starting floors that move by tag, and stairs that build themselves step by step.

Floor kinds: :lower (to the highest floor round it), :lower_to_lowest, :turbo_lower, :raise (to the lowest ceiling round it), :raise_crush, :raise_to_nearest, :raise_24, :raise_24_change, :raise_to_texture and :lower_and_change. Stair kinds: :build8 and :turbo16.

Summary

Functions

Start floor type in every sector tagged by line that no mover has taken: {world, started?}. line is a level line, whose front sector lends its floor to the kinds that change texture, or %{tag: tag} alone.

Build stairs of type from every sector tagged tag: {world, started?}.

Functions

by_tag(world, line, type)

@spec by_tag(ElixirDoom.World.t(), map(), atom()) :: {ElixirDoom.World.t(), boolean()}

Start floor type in every sector tagged by line that no mover has taken: {world, started?}. line is a level line, whose front sector lends its floor to the kinds that change texture, or %{tag: tag} alone.

stairs(world, tag, type)

@spec stairs(ElixirDoom.World.t(), integer(), :build8 | :turbo16) ::
  {ElixirDoom.World.t(), boolean()}

Build stairs of type from every sector tagged tag: {world, started?}.