Files
loop/src/Dodge/Default.hs
T

59 lines
1.3 KiB
Haskell

{- |
Module : Dodge.Default
Description : Instances of data structures
This module contains prototypical data structures.
-}
module Dodge.Default (
module Dodge.Default,
module Dodge.Default.Item,
module Dodge.Default.Wall,
module Dodge.Default.Creature,
module Dodge.Default.Terminal,
) where
import Control.Lens
import Dodge.Data.World
import Dodge.Default.Creature
import Dodge.Default.Item
import Dodge.Default.Terminal
import Dodge.Default.Wall
import Geometry
import Picture
defEquipment :: Item
defEquipment = defHeldItem & itUse .~ UseNothing
defaultFlIt :: FloorItem
defaultFlIt = FlIt{_flItRot = 0, _flItPos = V2 0 0}
defaultMachine :: Machine
defaultMachine =
Machine
{ _mcID = 0
, _mcPos = V2 0 0
, _mcDir = 0
, _mcHP = 1000
, _mcMaterial = Electronics
, _mcSkin = Metal
, _mcFootPrint = mempty
, _mcDamage = []
, _mcType = McTerminal
, _mcMounts = mempty
}
defaultButton :: Button
defaultButton = Button
{ _btPos = 0
, _btRot = 0
, _btEvent = ButtonPress False NoWorldEffect (dark red)
, _btID = 0
}
defaultProximitySensor :: ProximitySensor
defaultProximitySensor =
ProxSensor
{ _proxSensorType = SensorWithRequirement $ RequireHealth 0
, _proxToggle = Nothing
}