diff --git a/src/Dodge/Creature/Material.hs b/src/Dodge/Creature/Material.hs new file mode 100644 index 000000000..5f4044693 --- /dev/null +++ b/src/Dodge/Creature/Material.hs @@ -0,0 +1,16 @@ +{-# LANGUAGE LambdaCase #-} + +module Dodge.Creature.Material (crMaterial) where + +import Dodge.Data.Creature.Misc +import Dodge.Data.Material + +crMaterial :: CreatureType -> Material +crMaterial = \case + Avatar{_avatarMaterial = mt} -> mt + AvatarDead -> Flesh + ChaseCrit {} -> Flesh + SwarmCrit -> Flesh + AutoCrit -> Flesh + BarrelCrit{} -> Metal + LampCrit{} -> Glass diff --git a/src/Dodge/Creature/MaxHP.hs b/src/Dodge/Creature/MaxHP.hs new file mode 100644 index 000000000..37263bdd9 --- /dev/null +++ b/src/Dodge/Creature/MaxHP.hs @@ -0,0 +1,15 @@ +{-# LANGUAGE LambdaCase #-} +module Dodge.Creature.MaxHP (crMaxHP) where + +import Dodge.Data.Creature.Misc + +crMaxHP :: CreatureType -> Int +crMaxHP = \case + Avatar {} -> 15000 + AvatarDead -> 0 + ChaseCrit {} -> 150 + SwarmCrit -> 50 + AutoCrit -> 100 + BarrelCrit{} -> 100 + LampCrit {} -> 50 + diff --git a/src/Dodge/Creature/Radius.hs b/src/Dodge/Creature/Radius.hs new file mode 100644 index 000000000..262d093cf --- /dev/null +++ b/src/Dodge/Creature/Radius.hs @@ -0,0 +1,16 @@ +{-# LANGUAGE LambdaCase #-} +module Dodge.Creature.Radius (crRad) + where + +import Dodge.Data.Creature.Misc + +crRad :: CreatureType -> Float +{-# INLINE crRad #-} +crRad = \case + Avatar {} -> 10 + AvatarDead -> 10 + ChaseCrit {} -> 10 + SwarmCrit -> 2 + AutoCrit -> 10 + BarrelCrit{} -> 10 + LampCrit {} -> 3