rattletrap-2.2.0: source/library/Rattletrap/Attribute/AppliedDamage.hs
module Rattletrap.Attribute.AppliedDamage where
import Rattletrap.Primitive
import qualified Data.Binary.Bits.Get as BinaryBit
import qualified Data.Binary.Bits.Put as BinaryBit
data AppliedDamageAttribute = AppliedDamageAttribute
{ appliedDamageAttributeUnknown1 :: Word8
, appliedDamageAttributeLocation :: Vector
, appliedDamageAttributeUnknown3 :: Int32
, appliedDamageAttributeUnknown4 :: Int32
} deriving (Eq, Ord, Show)
getAppliedDamageAttribute :: BinaryBit.BitGet AppliedDamageAttribute
getAppliedDamageAttribute = do
unknown1 <- getWord8Bits
location <- getVector
unknown3 <- getInt32Bits
unknown4 <- getInt32Bits
pure
(AppliedDamageAttribute
unknown1
location
unknown3
unknown4)
putAppliedDamageAttribute :: AppliedDamageAttribute -> BinaryBit.BitPut ()
putAppliedDamageAttribute appliedDamageAttribute = do
putWord8Bits (appliedDamageAttributeUnknown1 appliedDamageAttribute)
putVector (appliedDamageAttributeLocation appliedDamageAttribute)
putInt32Bits (appliedDamageAttributeUnknown3 appliedDamageAttribute)
putInt32Bits (appliedDamageAttributeUnknown4 appliedDamageAttribute)