Further tweak bullet modules
This commit is contained in:
@@ -159,7 +159,7 @@ moduleCombinations =
|
|||||||
( ModBulletCollision
|
( ModBulletCollision
|
||||||
, bulletWeapons
|
, bulletWeapons
|
||||||
,
|
,
|
||||||
[ amod [cr (BULBODYMODULE be)] (BULBODY be) | be <- [minBound..]
|
[ amod [cr (BULBODYCRAFT be)] (BULBODY be) | be <- [minBound..]
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
,
|
,
|
||||||
@@ -182,9 +182,9 @@ moduleCombinations =
|
|||||||
( ModBulletTrajectory
|
( ModBulletTrajectory
|
||||||
, bulletWeapons
|
, bulletWeapons
|
||||||
,
|
,
|
||||||
[ amod [cr MAGNET, cr MICROCHIP, cr HARDWARE] MAGNETTRAJ
|
[ amod [cr MAGNET, cr MICROCHIP, cr HARDWARE] (BULTRAJ MagnetTrajectoryType)
|
||||||
, amod [cr MICROCHIP, cr HARDWARE] FLECHETRAJ
|
, amod [cr MICROCHIP, cr HARDWARE] (BULTRAJ FlechetteTrajectoryType)
|
||||||
, amod [cr ANTIMATTER, cr HARDWARE] BEZIERTRAJ
|
, amod [cr ANTIMATTER, cr HARDWARE] (BULTRAJ BezierTrajectoryType)
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
,
|
,
|
||||||
|
|||||||
@@ -16,11 +16,14 @@ moduleModification imt = case imt of
|
|||||||
BULPAY thepayload -> itUse . heldConsumption . laAmmoType . amBullet . buSpawn .~ BulBall thepayload
|
BULPAY thepayload -> itUse . heldConsumption . laAmmoType . amBullet . buSpawn .~ BulBall thepayload
|
||||||
BULBODY thebody -> itUse . heldConsumption . laAmmoType . amBullet . buEffect .~ thebody
|
BULBODY thebody -> itUse . heldConsumption . laAmmoType . amBullet . buEffect .~ thebody
|
||||||
TARGET t -> itUse . useTargeting ?~ t
|
TARGET t -> itUse . useTargeting ?~ t
|
||||||
MAGNETTRAJ ->
|
BULTRAJ BasicBulletTrajectoryType -> id
|
||||||
|
BULTRAJ MagnetTrajectoryType ->
|
||||||
(itUse . heldConsumption . laAmmoType . amBullet . buTrajectory .~ MagnetTrajectory 0)
|
(itUse . heldConsumption . laAmmoType . amBullet . buTrajectory .~ MagnetTrajectory 0)
|
||||||
. (itUse . heldConsumption . laAmmoType . amBullet . buVel .~ V2 10 0)
|
. (itUse . heldConsumption . laAmmoType . amBullet . buVel .~ V2 10 0)
|
||||||
FLECHETRAJ -> itUse . heldConsumption . laAmmoType . amBullet . buTrajectory .~ FlechetteTrajectory 0
|
BULTRAJ FlechetteTrajectoryType ->
|
||||||
BEZIERTRAJ -> itUse . heldConsumption . laAmmoType . amBullet . buTrajectory .~ BezierTrajectory 0 0 0
|
itUse . heldConsumption . laAmmoType . amBullet . buTrajectory .~ FlechetteTrajectory 0
|
||||||
|
BULTRAJ BezierTrajectoryType ->
|
||||||
|
itUse . heldConsumption . laAmmoType . amBullet . buTrajectory .~ BezierTrajectory 0 0 0
|
||||||
INCENDLAS -> itParams . lasBeam .~ BeamCombine FlameBeamCombine
|
INCENDLAS -> itParams . lasBeam .~ BeamCombine FlameBeamCombine
|
||||||
SPLITLAS -> itParams . lasBeam .~ BeamCombine SplitBeamCombine
|
SPLITLAS -> itParams . lasBeam .~ BeamCombine SplitBeamCombine
|
||||||
STATICLAS ->
|
STATICLAS ->
|
||||||
|
|||||||
@@ -186,8 +186,8 @@ inventoryX c = case c of
|
|||||||
, makeTypeCraftNum 5 (BULPAYLOADMODULE IncBall)
|
, makeTypeCraftNum 5 (BULPAYLOADMODULE IncBall)
|
||||||
, makeTypeCraftNum 5 (BULPAYLOADMODULE TeslaBall)
|
, makeTypeCraftNum 5 (BULPAYLOADMODULE TeslaBall)
|
||||||
, makeTypeCraftNum 5 (BULPAYLOADMODULE ConcBall)
|
, makeTypeCraftNum 5 (BULPAYLOADMODULE ConcBall)
|
||||||
, makeTypeCraftNum 5 (BULBODYMODULE BounceBullet)
|
, makeTypeCraftNum 5 (BULBODYCRAFT BounceBullet)
|
||||||
, makeTypeCraftNum 5 (BULBODYMODULE PenetrateBullet)
|
, makeTypeCraftNum 5 (BULBODYCRAFT PenetrateBullet)
|
||||||
]
|
]
|
||||||
'H' -> [shatterGun]
|
'H' -> [shatterGun]
|
||||||
'I' ->
|
'I' ->
|
||||||
@@ -214,8 +214,8 @@ inventoryX c = case c of
|
|||||||
, makeTypeCraftNum 1 LIGHTSENSOR
|
, makeTypeCraftNum 1 LIGHTSENSOR
|
||||||
, makeTypeCraftNum 1 SOUNDSENSOR
|
, makeTypeCraftNum 1 SOUNDSENSOR
|
||||||
, makeTypeCraftNum 1 HEATSENSOR
|
, makeTypeCraftNum 1 HEATSENSOR
|
||||||
, makeTypeCraftNum 1 (BULBODYMODULE BounceBullet)
|
, makeTypeCraftNum 1 (BULBODYCRAFT BounceBullet)
|
||||||
, makeTypeCraftNum 1 (BULBODYMODULE PenetrateBullet)
|
, makeTypeCraftNum 1 (BULBODYCRAFT PenetrateBullet)
|
||||||
, makeTypeCraftNum 1 (BULPAYLOADMODULE IncBall)
|
, makeTypeCraftNum 1 (BULPAYLOADMODULE IncBall)
|
||||||
, makeTypeCraftNum 1 (BULPAYLOADMODULE TeslaBall)
|
, makeTypeCraftNum 1 (BULPAYLOADMODULE TeslaBall)
|
||||||
, makeTypeCraftNum 1 (BULPAYLOADMODULE ConcBall)
|
, makeTypeCraftNum 1 (BULPAYLOADMODULE ConcBall)
|
||||||
|
|||||||
@@ -53,6 +53,13 @@ data BulletTrajectory
|
|||||||
| MagnetTrajectory Point2
|
| MagnetTrajectory Point2
|
||||||
deriving (Show, Eq, Ord, Read) --Generic, Flat)
|
deriving (Show, Eq, Ord, Read) --Generic, Flat)
|
||||||
|
|
||||||
|
data BulletTrajectoryType
|
||||||
|
= BasicBulletTrajectoryType
|
||||||
|
| BezierTrajectoryType
|
||||||
|
| FlechetteTrajectoryType
|
||||||
|
| MagnetTrajectoryType
|
||||||
|
deriving (Show, Eq, Ord, Read) --Generic, Flat)
|
||||||
|
|
||||||
makeLenses ''Bullet
|
makeLenses ''Bullet
|
||||||
makeLenses ''BulletSpawn
|
makeLenses ''BulletSpawn
|
||||||
deriveJSON defaultOptions ''EnergyBallType
|
deriveJSON defaultOptions ''EnergyBallType
|
||||||
@@ -60,4 +67,5 @@ deriveJSON defaultOptions ''BulletUpdateMod
|
|||||||
deriveJSON defaultOptions ''BulletEffect
|
deriveJSON defaultOptions ''BulletEffect
|
||||||
deriveJSON defaultOptions ''BulletSpawn
|
deriveJSON defaultOptions ''BulletSpawn
|
||||||
deriveJSON defaultOptions ''BulletTrajectory
|
deriveJSON defaultOptions ''BulletTrajectory
|
||||||
|
deriveJSON defaultOptions ''BulletTrajectoryType
|
||||||
deriveJSON defaultOptions ''Bullet
|
deriveJSON defaultOptions ''Bullet
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ data CraftType
|
|||||||
| FRAGMODULE
|
| FRAGMODULE
|
||||||
| FLASHMODULE
|
| FLASHMODULE
|
||||||
| BULPAYLOADMODULE EnergyBallType
|
| BULPAYLOADMODULE EnergyBallType
|
||||||
| BULBODYMODULE BulletEffect
|
| BULBODYCRAFT BulletEffect
|
||||||
| TELEPORTMODULE
|
| TELEPORTMODULE
|
||||||
| TIMEMODULE
|
| TIMEMODULE
|
||||||
| SIZEMODULE
|
| SIZEMODULE
|
||||||
@@ -185,10 +185,8 @@ data ItemModuleType
|
|||||||
| MAGNETMAG
|
| MAGNETMAG
|
||||||
| BULPAY EnergyBallType
|
| BULPAY EnergyBallType
|
||||||
| BULBODY BulletEffect
|
| BULBODY BulletEffect
|
||||||
|
| BULTRAJ BulletTrajectoryType
|
||||||
| TARGET TargetType
|
| TARGET TargetType
|
||||||
| MAGNETTRAJ
|
|
||||||
| FLECHETRAJ
|
|
||||||
| BEZIERTRAJ
|
|
||||||
| INCENDLAS
|
| INCENDLAS
|
||||||
| SPLITLAS
|
| SPLITLAS
|
||||||
| STATICLAS
|
| STATICLAS
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ incendiaryModule = bulletPayloadCraft IncBall
|
|||||||
|
|
||||||
bulletBodyCraft :: BulletEffect -> Item
|
bulletBodyCraft :: BulletEffect -> Item
|
||||||
bulletBodyCraft ebt =
|
bulletBodyCraft ebt =
|
||||||
makeTypeCraft (BULBODYMODULE ebt)
|
makeTypeCraft (BULBODYCRAFT ebt)
|
||||||
& itInvSize .~ 1
|
& itInvSize .~ 1
|
||||||
& itInvColor .~ chartreuse
|
& itInvColor .~ chartreuse
|
||||||
|
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ craftInfo fit = case fit of
|
|||||||
BULPAYLOADMODULE ebt -> "A device that converts projectiles into " ++ displayBulletPayload ebt ++ " projectiles."
|
BULPAYLOADMODULE ebt -> "A device that converts projectiles into " ++ displayBulletPayload ebt ++ " projectiles."
|
||||||
FRAGMODULE -> "A device that converts projectiles into fragmentation projectiles."
|
FRAGMODULE -> "A device that converts projectiles into fragmentation projectiles."
|
||||||
FLASHMODULE -> "A device that converts projectiles into flashbang projectiles."
|
FLASHMODULE -> "A device that converts projectiles into flashbang projectiles."
|
||||||
BULBODYMODULE be -> "A device that converts projectiles into " ++ displayBulletBody be ++ " projectiles."
|
BULBODYCRAFT be -> "A device that converts projectiles into " ++ displayBulletBody be ++ " projectiles."
|
||||||
TELEPORTMODULE -> "A device that allows for near-instant translocation across space."
|
TELEPORTMODULE -> "A device that allows for near-instant translocation across space."
|
||||||
TIMEMODULE -> "A device that can affect temporality."
|
TIMEMODULE -> "A device that can affect temporality."
|
||||||
SIZEMODULE -> "A device that can affect physical size."
|
SIZEMODULE -> "A device that can affect physical size."
|
||||||
|
|||||||
+1
-3
@@ -27,14 +27,12 @@ moduleName imt = case imt of
|
|||||||
MAGNETMAG -> Just "+MAGNET FEED"
|
MAGNETMAG -> Just "+MAGNET FEED"
|
||||||
BULPAY thepayload -> Just $ "+" ++ displayBulletPayload thepayload
|
BULPAY thepayload -> Just $ "+" ++ displayBulletPayload thepayload
|
||||||
BULBODY thebody -> Just $ "+" ++ displayBulletBody thebody
|
BULBODY thebody -> Just $ "+" ++ displayBulletBody thebody
|
||||||
|
BULTRAJ thetraj -> Just $ "+" ++ displayBulletTraj thetraj
|
||||||
TARGET TargetRBCreature -> Just "+CREATURETARGETING"
|
TARGET TargetRBCreature -> Just "+CREATURETARGETING"
|
||||||
TARGET TargetLaser -> Just "+LASERTARGETING"
|
TARGET TargetLaser -> Just "+LASERTARGETING"
|
||||||
TARGET TargetRBPress -> Just "+POSTIONALTARGETING"
|
TARGET TargetRBPress -> Just "+POSTIONALTARGETING"
|
||||||
TARGET TargetCursor -> Just "+CURSORTARGETING"
|
TARGET TargetCursor -> Just "+CURSORTARGETING"
|
||||||
TARGET TargetRBLine -> Just "+LINETARGETING"
|
TARGET TargetRBLine -> Just "+LINETARGETING"
|
||||||
MAGNETTRAJ -> Just "+MAGNETTRAJECTORY"
|
|
||||||
FLECHETRAJ -> Just "+FLECHETTETRAJECTORY"
|
|
||||||
BEZIERTRAJ -> Just "+BEZIERTRAJECTORY"
|
|
||||||
INCENDLAS -> Just "+INCENDIARY"
|
INCENDLAS -> Just "+INCENDIARY"
|
||||||
SPLITLAS -> Just "+SPLIT"
|
SPLITLAS -> Just "+SPLIT"
|
||||||
STATICLAS -> Just "+STATIC"
|
STATICLAS -> Just "+STATIC"
|
||||||
|
|||||||
@@ -13,3 +13,10 @@ displayBulletPayload ebt = case ebt of
|
|||||||
IncBall -> "INCENDIARY"
|
IncBall -> "INCENDIARY"
|
||||||
TeslaBall -> "STATIC"
|
TeslaBall -> "STATIC"
|
||||||
ConcBall -> "CONCUSSIVE"
|
ConcBall -> "CONCUSSIVE"
|
||||||
|
|
||||||
|
displayBulletTraj :: BulletTrajectoryType -> String
|
||||||
|
displayBulletTraj x = case x of
|
||||||
|
BasicBulletTrajectoryType-> "BTRAJ-shouldn't display"
|
||||||
|
BezierTrajectoryType -> "MAGNET"
|
||||||
|
FlechetteTrajectoryType -> "FLECHETTE"
|
||||||
|
MagnetTrajectoryType -> "BEZIER CURVE"
|
||||||
|
|||||||
Reference in New Issue
Block a user