Work on cleaning up item effects/attachments etc

This commit is contained in:
2022-07-27 16:39:58 +01:00
parent 8d17ce66e9
commit b52adddd5d
39 changed files with 696 additions and 844 deletions
+75 -66
View File
@@ -1,93 +1,102 @@
{- |
Module : Dodge.Default
Description : Instances of data structures
Description : Instances of data structures
This module contains prototypical data structures.
-}
module Dodge.Default
( module Dodge.Default
, module Dodge.Default.Item
, module Dodge.Default.LightSource
, module Dodge.Default.Weapon
, module Dodge.Default.Wall
, module Dodge.Default.Creature
, module Dodge.Default.Terminal
) where
module Dodge.Default (
module Dodge.Default,
module Dodge.Default.Item,
module Dodge.Default.LightSource,
module Dodge.Default.Weapon,
module Dodge.Default.Wall,
module Dodge.Default.Creature,
module Dodge.Default.Terminal,
) where
import Control.Lens
import Dodge.Data
import Dodge.Default.Creature
import Dodge.Default.Item
import Dodge.Default.LightSource
import Dodge.Default.Terminal
import Dodge.Default.Wall
import Dodge.Default.Creature
import Dodge.Default.Weapon
import Dodge.Default.LightSource
import Dodge.Default.Item
import Dodge.Data
import Dodge.SoundLogic
import Geometry
import Picture
import Control.Lens
defaultEquipment :: Item
defaultEquipment = defaultItem
{ _itInvColor = yellow
, _itUse = EquipUse defaultEquip
, _itAttachment = NoItAttachment
}
defaultEquipment =
defaultItem
& itInvColor .~ yellow
& itUse .~ EquipUse defaultEquip
defaultItZoom :: ItZoom
defaultItZoom = ItZoom 20 0.2 1
defaultConsumable :: Item
defaultConsumable = defaultItem
& itUse .~ ConsumeUse CDoNothing 1
& itInvColor .~ blue
defaultConsumable =
defaultItem
& itUse .~ ConsumeUse CDoNothing 1
& itInvColor .~ blue
defaultFlIt :: FloorItem
defaultFlIt = FlIt {_flItRot=0,_flIt = defaultConsumable, _flItPos = V2 0 0, _flItID = 0}
defaultFlIt = FlIt{_flItRot = 0, _flIt = defaultConsumable, _flItPos = V2 0 0, _flItID = 0}
defaultMachine :: Machine
defaultMachine = Machine
{ _mcID = 0
, _mcWallIDs = mempty
, _mcDraw = MachineDrawMempty
, _mcColor = white
, _mcPos = V2 0 0
, _mcDir = 0
, _mcHP = 1000
, _mcSensor = NoSensor
, _mcMaterial = Electronics
, _mcDamage = []
, _mcType = StaticMachine
, _mcName = ""
, _mcMounts = mempty
, _mcCloseSound = Nothing
}
defaultMachine =
Machine
{ _mcID = 0
, _mcWallIDs = mempty
, _mcDraw = MachineDrawMempty
, _mcColor = white
, _mcPos = V2 0 0
, _mcDir = 0
, _mcHP = 1000
, _mcSensor = NoSensor
, _mcMaterial = Electronics
, _mcDamage = []
, _mcType = StaticMachine
, _mcName = ""
, _mcMounts = mempty
, _mcCloseSound = Nothing
}
defaultButton :: Button
defaultButton = Button
{ _btPict = DefaultDrawButton (dark red)
, _btPos = V2 0 0
, _btRot = 0
, _btEvent = ButtonPress BtNoLabel ButtonDoNothing click1S NoWorldEffect
, _btID = 0
, _btText = "Button"
, _btState = BtOff
, _btTermMID = Nothing
, _btName = ""
, _btColor = red
}
defaultButton =
Button
{ _btPict = DefaultDrawButton (dark red)
, _btPos = V2 0 0
, _btRot = 0
, _btEvent = ButtonPress BtNoLabel ButtonDoNothing click1S NoWorldEffect
, _btID = 0
, _btText = "Button"
, _btState = BtOff
, _btTermMID = Nothing
, _btName = ""
, _btColor = red
}
defaultPP :: PressPlate
defaultPP = PressPlate
{ _ppPict = setDepth 1 . color (dim . dim $ bright blue) $ circleSolid 5
, _ppPos = V2 0 0
, _ppRot = 0
, _ppEvent = PressPlateId
, _ppID = -1
, _ppText = "Pressure plate"
}
defaultPP =
PressPlate
{ _ppPict = setDepth 1 . color (dim . dim $ bright blue) $ circleSolid 5
, _ppPos = V2 0 0
, _ppRot = 0
, _ppEvent = PressPlateId
, _ppID = -1
, _ppText = "Pressure plate"
}
upHammer :: HammerType
upHammer = HasHammer HammerUp
defaultProximitySensor :: Sensor
defaultProximitySensor = ProximitySensor
{ _proxStatus = NotClose
, _proxDist = 40
, _proxRequirement = RequireImpossible
, _sensToggle = False
}
defaultProximitySensor =
ProximitySensor
{ _proxStatus = NotClose
, _proxDist = 40
, _proxRequirement = RequireImpossible
, _sensToggle = False
}