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 ]