Allow for bullet drag

This commit is contained in:
2021-12-02 18:29:46 +00:00
parent 85ededc158
commit 8b8d75b016
35 changed files with 362 additions and 228 deletions
+44 -37
View File
@@ -330,16 +330,16 @@ data ItemConsumption
{ _itMaxStack' :: Int
, _itAmount' :: Int
}
| NoConsumption
data Item
= Weapon
= Item
{ _itName :: String
, _itConsumption :: ItemConsumption
, _itUse :: ItemUse
, _itFloorPict :: Item -> SPic
, _itEquipPict :: Creature -> Int -> SPic
, _itScroll :: Float -> Creature -> Item -> Item
, _itIdentity :: ItemIdentity
, _itCombineType :: ItemCombineType
, _itCombineType :: CombineType
, _itAttachment :: ItAttachment
, _itID :: Maybe Int
, _itEffect :: ItEffect
@@ -352,43 +352,44 @@ data Item
, _itParams :: ItemParams
, _itTweaks :: ItemTweaks
}
| Consumable
{ _itName :: String
, _itMaxStack :: Int
, _itAmount :: Int
, _cnEffect :: Int -> World -> Maybe World
, _itFloorPict :: Item -> SPic
, _itEquipPict :: Creature -> Int -> SPic
, _itIdentity :: ItemIdentity
, _itID :: Maybe Int
, _itInvSize :: Int
, _itInvDisplay :: Item -> [String]
, _itInvColor :: Color
, _itEffect :: ItEffect
, _itCurseStatus :: CurseStatus
, _itDimension :: ItemDimension
}
| Craftable
{ _itName :: String
, _itMaxStack :: Int
, _itAmount :: Int
, _itFloorPict :: Item -> SPic
, _itEquipPict :: Creature -> Int -> SPic
, _itIdentity :: ItemIdentity
, _itID :: Maybe Int
, _itInvSize :: Int
, _itInvDisplay :: Item -> [String]
, _itInvColor :: Color
, _itCurseStatus :: CurseStatus
, _itDimension :: ItemDimension
}
-- | Consumable
-- { _itName :: String
-- , _itMaxStack :: Int
-- , _itAmount :: Int
-- , _cnEffect :: Int -> World -> Maybe World
-- , _itFloorPict :: Item -> SPic
-- , _itEquipPict :: Creature -> Int -> SPic
-- , _itIdentity :: ItemIdentity
-- , _itID :: Maybe Int
-- , _itInvSize :: Int
-- , _itInvDisplay :: Item -> [String]
-- , _itInvColor :: Color
-- , _itEffect :: ItEffect
-- , _itCurseStatus :: CurseStatus
-- , _itDimension :: ItemDimension
-- }
-- | Craftable
-- { _itName :: String
-- , _itMaxStack :: Int
-- , _itAmount :: Int
-- , _itFloorPict :: Item -> SPic
-- , _itEquipPict :: Creature -> Int -> SPic
-- , _itIdentity :: ItemIdentity
-- , _itID :: Maybe Int
-- , _itInvSize :: Int
-- , _itInvDisplay :: Item -> [String]
-- , _itInvColor :: Color
-- , _itCurseStatus :: CurseStatus
-- , _itDimension :: ItemDimension
-- }
| Equipment
{ _itName :: String
, _itFloorPict :: Item -> SPic
, _itEquipPict :: Creature -> Int -> SPic
, _itIdentity :: ItemIdentity
-- , _itIdentity :: ItemIdentity
, _itEffect :: ItEffect
, _itID :: Maybe Int
, _itCombineType :: CombineType
, _itZoom :: ItZoom
, _itInvSize :: Int
, _itInvDisplay :: Item -> [String]
@@ -406,9 +407,10 @@ data Item
, _itUse :: ItemUse
-- , _itZoom :: ItZoom
, _itEquipPict :: Creature -> Int -> SPic
, _itIdentity :: ItemIdentity
--, _itIdentity :: ItemIdentity
, _itID :: Maybe Int
, _itAttachment :: ItAttachment
, _itCombineType :: CombineType
, _itInvSize :: Int
, _itInvDisplay :: Item -> [String]
, _itInvColor :: Color
@@ -475,9 +477,10 @@ data Particle
, _ptColor :: Color
}
| BulletPt
{ _ptDraw :: Particle -> Picture
{ _ptDraw :: Particle -> Picture
, _ptUpdate :: World -> Particle -> (World, Maybe Particle)
, _btVel' :: Point2
, _btVel' :: Point2
, _btDrag :: Float
, _btColor' :: Color
, _btTrail' :: [Point2]
, _btPassThrough' :: Maybe Int
@@ -547,6 +550,9 @@ data GunBarrels
{ _brlSpread :: BarrelSpread
, _brlNum :: Int
}
| RotBarrel
{ _brlNum :: Int
}
| SingleBarrel {_brlInaccuracy :: Float}
data ItemParams
@@ -559,6 +565,7 @@ data ItemParams
| Refracting {_phaseV :: Float}
| BulletShooter
{ _muzVel :: Float
, _rifling :: Float
, _bore :: Float
, _gunBarrels :: GunBarrels
}