From 05f250f92865e2b9c7a4b27eba295fcc3593082f Mon Sep 17 00:00:00 2001 From: justin Date: Fri, 6 Jun 2025 13:36:38 +0100 Subject: [PATCH] Add file --- src/Dodge/Creature/Material.hs | 16 ++++++++++++++++ src/Dodge/Creature/MaxHP.hs | 15 +++++++++++++++ src/Dodge/Creature/Radius.hs | 16 ++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 src/Dodge/Creature/Material.hs create mode 100644 src/Dodge/Creature/MaxHP.hs create mode 100644 src/Dodge/Creature/Radius.hs 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