Work on bullet module system
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
{-# LANGUAGE TupleSections #-}
|
||||
module Dodge.Combine.Combinations where
|
||||
import Dodge.Data
|
||||
import Dodge.WorldEvent.HitEffect
|
||||
import Dodge.Particle.Bullet.HitEffect
|
||||
import Dodge.Item.Equipment
|
||||
import Dodge.Item.Craftable
|
||||
import Dodge.Item.Weapon.BulletGuns
|
||||
@@ -8,6 +10,7 @@ import Dodge.Item.Weapon.BatteryGuns
|
||||
import Dodge.Item.Weapon.Launcher
|
||||
import Dodge.Item.Weapon.SprayGuns
|
||||
|
||||
import Control.Lens
|
||||
itemCombinations :: [([(Int,CombineType)],Item)]
|
||||
itemCombinations =
|
||||
[ po [PIPE, HARDWARE] (bangStick 1)
|
||||
@@ -64,8 +67,20 @@ itemCombinations =
|
||||
++ map (\i -> po [REVOLVERX i,CAN] $ revolverX (i+1)) [1..5]
|
||||
++ map (\i -> p [o (BANGCANEX i),p 2 PIPE] $ bangCaneX (i+1)) [1..5]
|
||||
++ map (\i -> po [MINIGUNX i,BANGCANE] $ miniGunX (i+1)) [3..15]
|
||||
|
||||
++ [ po [itype,mtype] $ it & itModules . modHitEffect .~ m
|
||||
| (itype,it) <- firearmTypes , (mtype,m) <- bulletModules
|
||||
]
|
||||
where
|
||||
p = (,)
|
||||
po xs it = (map o xs,it)
|
||||
o = (1,)
|
||||
|
||||
firearmTypes :: [(CombineType,Item)]
|
||||
firearmTypes
|
||||
= [(BANGSTICK i,bangStick i) | i <- [1..9] ]
|
||||
++ [(BANGCANEX i,bangCaneX i) | i <- [1..6] ]
|
||||
bulletModules :: [(CombineType,ItemModule HitEffect)]
|
||||
bulletModules =
|
||||
[(INCENDIARYMODULE, ItemModule (destroyOnImpact bulIncCr bulIncWall) ["+INCENDIARY"] 1 )
|
||||
,(BOUNCEMODULE, ItemModule (destroyOnImpact bulBounceArmCr' bulBounceWall) ["+BOUNCE"] 1 )
|
||||
]
|
||||
|
||||
@@ -93,5 +93,8 @@ data CombineType
|
||||
| BATTERY
|
||||
| FUELCELL
|
||||
| PORTABLEFUSION
|
||||
-- Modules
|
||||
| INCENDIARYMODULE
|
||||
| BOUNCEMODULE
|
||||
| NoCombineType
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
Reference in New Issue
Block a user