59 lines
1.3 KiB
Haskell
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
|
|
}
|