{-# LANGUAGE TemplateHaskell #-}

module Rattletrap.Type.DamageStateAttribute
  ( DamageStateAttribute(..)
  )
where

import Rattletrap.Type.Common
import Rattletrap.Type.Int32le
import Rattletrap.Type.Vector
import Rattletrap.Type.Word8le

data DamageStateAttribute = DamageStateAttribute
  { DamageStateAttribute -> Word8le
damageStateAttributeUnknown1 :: Word8le
  , DamageStateAttribute -> Bool
damageStateAttributeUnknown2 :: Bool
  , DamageStateAttribute -> Int32le
damageStateAttributeUnknown3 :: Int32le
  , DamageStateAttribute -> Vector
damageStateAttributeUnknown4 :: Vector
  , DamageStateAttribute -> Bool
damageStateAttributeUnknown5 :: Bool
  , DamageStateAttribute -> Bool
damageStateAttributeUnknown6 :: Bool
  } deriving (DamageStateAttribute -> DamageStateAttribute -> Bool
(DamageStateAttribute -> DamageStateAttribute -> Bool)
-> (DamageStateAttribute -> DamageStateAttribute -> Bool)
-> Eq DamageStateAttribute
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DamageStateAttribute -> DamageStateAttribute -> Bool
$c/= :: DamageStateAttribute -> DamageStateAttribute -> Bool
== :: DamageStateAttribute -> DamageStateAttribute -> Bool
$c== :: DamageStateAttribute -> DamageStateAttribute -> Bool
Eq, Eq DamageStateAttribute
Eq DamageStateAttribute
-> (DamageStateAttribute -> DamageStateAttribute -> Ordering)
-> (DamageStateAttribute -> DamageStateAttribute -> Bool)
-> (DamageStateAttribute -> DamageStateAttribute -> Bool)
-> (DamageStateAttribute -> DamageStateAttribute -> Bool)
-> (DamageStateAttribute -> DamageStateAttribute -> Bool)
-> (DamageStateAttribute
    -> DamageStateAttribute -> DamageStateAttribute)
-> (DamageStateAttribute
    -> DamageStateAttribute -> DamageStateAttribute)
-> Ord DamageStateAttribute
DamageStateAttribute -> DamageStateAttribute -> Bool
DamageStateAttribute -> DamageStateAttribute -> Ordering
DamageStateAttribute
-> DamageStateAttribute -> DamageStateAttribute
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: DamageStateAttribute
-> DamageStateAttribute -> DamageStateAttribute
$cmin :: DamageStateAttribute
-> DamageStateAttribute -> DamageStateAttribute
max :: DamageStateAttribute
-> DamageStateAttribute -> DamageStateAttribute
$cmax :: DamageStateAttribute
-> DamageStateAttribute -> DamageStateAttribute
>= :: DamageStateAttribute -> DamageStateAttribute -> Bool
$c>= :: DamageStateAttribute -> DamageStateAttribute -> Bool
> :: DamageStateAttribute -> DamageStateAttribute -> Bool
$c> :: DamageStateAttribute -> DamageStateAttribute -> Bool
<= :: DamageStateAttribute -> DamageStateAttribute -> Bool
$c<= :: DamageStateAttribute -> DamageStateAttribute -> Bool
< :: DamageStateAttribute -> DamageStateAttribute -> Bool
$c< :: DamageStateAttribute -> DamageStateAttribute -> Bool
compare :: DamageStateAttribute -> DamageStateAttribute -> Ordering
$ccompare :: DamageStateAttribute -> DamageStateAttribute -> Ordering
$cp1Ord :: Eq DamageStateAttribute
Ord, Int -> DamageStateAttribute -> ShowS
[DamageStateAttribute] -> ShowS
DamageStateAttribute -> String
(Int -> DamageStateAttribute -> ShowS)
-> (DamageStateAttribute -> String)
-> ([DamageStateAttribute] -> ShowS)
-> Show DamageStateAttribute
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DamageStateAttribute] -> ShowS
$cshowList :: [DamageStateAttribute] -> ShowS
show :: DamageStateAttribute -> String
$cshow :: DamageStateAttribute -> String
showsPrec :: Int -> DamageStateAttribute -> ShowS
$cshowsPrec :: Int -> DamageStateAttribute -> ShowS
Show)

$(deriveJson ''DamageStateAttribute)