Implement pulse rifle with explodable pulse balls

This commit is contained in:
2025-07-27 11:10:30 +01:00
parent 68a4bc7aab
commit f1fb0ee768
19 changed files with 190 additions and 108 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ data Muzzle = Muzzle
}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data AmmoExtractPosition = MagBelow Int | CapacitorBelow Int | CapacitorSelf
data AmmoExtractPosition = MagBelow Int | CapacitorBelow | CapacitorSelf
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data FlareType
+13
View File
@@ -0,0 +1,13 @@
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TemplateHaskell #-}
module Dodge.Data.Object where
import Dodge.Data.Wall
import Dodge.Data.Creature
import Dodge.Data.PulseLaser
data Object
= OPulseBall PulseBall
| OCreature Creature
| OWall Wall
+12 -11
View File
@@ -9,17 +9,18 @@ import Data.Aeson
import Data.Aeson.TH
data ObjectType
= ObTerminal
| ObCreature
| ObMachine
| ObWall
| ObDoor
| ObButton
| ObForegroundShape
| ObLightSource
| ObProp
| ObTrigger
| ObItem
= OTTerminal
| OTCreature
| OTMachine
| OTWall
| OTDoor
| OTButton
| OTForegroundShape
| OTLightSource
| OTProp
| OTTrigger
| OTItem
| OTPulseBall
deriving (Eq, Show, Ord, Enum, Bounded, Read) --Generic, Flat)
deriveJSON defaultOptions ''ObjectType