Move flame into its own datatype
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.Bullet where
|
||||
import Dodge.Data.DamageType
|
||||
import Dodge.Data.Damage
|
||||
import Geometry.Data
|
||||
import Control.Lens
|
||||
data Bullet = Bullet
|
||||
|
||||
@@ -4,26 +4,13 @@
|
||||
Datatypes describing the type of damage effects that are to be applied to
|
||||
creatures.
|
||||
-}
|
||||
module Dodge.Data.DamageType where
|
||||
module Dodge.Data.Damage
|
||||
( module Dodge.Data.Damage
|
||||
, module Dodge.Data.Damage.Type
|
||||
) where
|
||||
import Dodge.Data.Damage.Type
|
||||
import Geometry.Data
|
||||
import Control.Lens
|
||||
data DamageType
|
||||
= PIERCING
|
||||
| BLUNT
|
||||
| CUTTING
|
||||
| SPARKING
|
||||
| CRUSHING
|
||||
| SHATTERING
|
||||
| FLAMING
|
||||
| LASERING
|
||||
| ELECTRICAL
|
||||
| EXPLOSIVE
|
||||
| CONCUSSIVE
|
||||
| TORQUEDAM
|
||||
| PUSHDAM
|
||||
| POISONDAM
|
||||
| ENTERREMENT
|
||||
deriving (Eq,Ord,Show,Read)
|
||||
data DamageEffect
|
||||
= PushDamage
|
||||
{ _dePush :: Float
|
||||
@@ -0,0 +1,19 @@
|
||||
{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.Damage.Type where
|
||||
data DamageType
|
||||
= PIERCING
|
||||
| BLUNT
|
||||
| CUTTING
|
||||
| SPARKING
|
||||
| CRUSHING
|
||||
| SHATTERING
|
||||
| FLAMING
|
||||
| LASERING
|
||||
| ELECTRICAL
|
||||
| EXPLOSIVE
|
||||
| CONCUSSIVE
|
||||
| TORQUEDAM
|
||||
| PUSHDAM
|
||||
| POISONDAM
|
||||
| ENTERREMENT
|
||||
deriving (Eq,Ord,Show,Read,Enum,Bounded)
|
||||
@@ -0,0 +1,16 @@
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.Flame where
|
||||
import Control.Lens
|
||||
import Geometry.Data
|
||||
import Color
|
||||
data Flame = Flame
|
||||
{ _flVel :: Point2
|
||||
, _flColor :: Color
|
||||
, _flPos :: Point2
|
||||
, _flWidth :: Float
|
||||
, _flTimer :: Int
|
||||
, _flZ :: Float
|
||||
, _flOriginalVel :: Point2
|
||||
}
|
||||
makeLenses ''Flame
|
||||
@@ -0,0 +1,14 @@
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.Magnet where
|
||||
import Dodge.Data.Bullet
|
||||
import Geometry.Data
|
||||
import Control.Lens
|
||||
|
||||
data Magnet = Magnet
|
||||
{ _mgID :: Int
|
||||
, _mgUpdate :: Magnet -> Maybe Magnet
|
||||
, _mgPos :: Point2
|
||||
, _mgField :: Magnet -> Bullet -> Bullet
|
||||
}
|
||||
makeLenses ''Magnet
|
||||
@@ -2,7 +2,7 @@
|
||||
{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.Sensor where
|
||||
import Dodge.Combine.Data
|
||||
import Dodge.Data.DamageType
|
||||
import Dodge.Data.Damage.Type
|
||||
import Control.Lens
|
||||
|
||||
data Sensor = NoSensor
|
||||
|
||||
@@ -14,7 +14,7 @@ data SoundOrigin = InventorySound
|
||||
| CrReloadSound Int
|
||||
| Flamer
|
||||
| ShellSound Int
|
||||
| Flame
|
||||
| FlameSound
|
||||
| LasSound
|
||||
| FootstepSound Int
|
||||
| BlockDegradeSound Int
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.Spark where
|
||||
import Dodge.Data.Damage.Type
|
||||
import Geometry.Data
|
||||
import Color
|
||||
import Control.Lens
|
||||
@@ -10,5 +11,6 @@ data Spark = Spark
|
||||
, _skPos :: Point2
|
||||
, _skOldPos :: Point2
|
||||
, _skWidth :: Float
|
||||
, _skDamageType :: DamageType
|
||||
}
|
||||
makeLenses ''Spark
|
||||
|
||||
Reference in New Issue
Block a user