Separate out bullet effects, allow for tweaking to change these

This commit is contained in:
2021-11-30 13:11:34 +00:00
parent e75cbdf6cb
commit 4d21c0f31a
13 changed files with 207 additions and 81 deletions
+32
View File
@@ -0,0 +1,32 @@
module Dodge.TweakBullet where
import Dodge.Data
import Dodge.Item.Weapon.Bullet
import qualified Data.IntMap.Strict as IM
import Control.Lens
defaultBulletSelTweak :: ItemTweaks
defaultBulletSelTweak = Tweakable
{_tweakSel = 0
,_tweakParams = IM.fromList $ zip [0..]
[ bulSelTweak
]
}
bulSelTweak :: TweakParam
bulSelTweak = TweakParam
{_doTweak = intToBulAmmo
,_curTweak = 0
,_maxTweak = 4
,_showTweak = _amString . (bulletTypes IM.!)
,_nameTweak = "BULLET TYPE"
}
intToBulAmmo :: Int -> Item -> Item
intToBulAmmo i = itConsumption . aoType .~ bulletTypes IM.! i
bulletTypes :: IM.IntMap AmmoType
bulletTypes = IM.fromList $ zip [0..]
[ basicBullet
, incBullet
, conBullet
, bounceBullet
]