Cleanup
This commit is contained in:
+170
-176
@@ -1,125 +1,110 @@
|
||||
module Dodge.Creature
|
||||
( module Dodge.Creature
|
||||
, module Dodge.Creature.ChaseCrit
|
||||
, module Dodge.Creature.Inanimate
|
||||
, launcherCrit
|
||||
, pistolCrit
|
||||
, ltAutoCrit
|
||||
, spreadGunCrit
|
||||
, autoCrit
|
||||
, armourChaseCrit
|
||||
) where
|
||||
import Dodge.Creature.State.Data
|
||||
import Dodge.Item.Equipment.Booster
|
||||
import Dodge.Item.Weapon.Utility
|
||||
--import Dodge.Item.Weapon.Drone
|
||||
import Dodge.Item.Craftable
|
||||
import Dodge.Creature.LauncherCrit
|
||||
import Dodge.Creature.PistolCrit
|
||||
import Dodge.Creature.LtAutoCrit
|
||||
import Dodge.Creature.SpreadGunCrit
|
||||
module Dodge.Creature (
|
||||
module Dodge.Creature,
|
||||
module Dodge.Creature.ChaseCrit,
|
||||
module Dodge.Creature.Inanimate,
|
||||
launcherCrit,
|
||||
pistolCrit,
|
||||
ltAutoCrit,
|
||||
spreadGunCrit,
|
||||
autoCrit,
|
||||
armourChaseCrit,
|
||||
) where
|
||||
|
||||
import Control.Lens
|
||||
import Dodge.Creature.ArmourChase
|
||||
import Dodge.Creature.AutoCrit
|
||||
import Dodge.Creature.ChaseCrit
|
||||
import Dodge.Creature.ArmourChase
|
||||
import Dodge.Creature.Inanimate
|
||||
import Dodge.Creature.LauncherCrit
|
||||
import Dodge.Creature.LtAutoCrit
|
||||
import Dodge.Creature.PistolCrit
|
||||
import Dodge.Creature.SpreadGunCrit
|
||||
import Dodge.Data
|
||||
import Dodge.Default
|
||||
import Dodge.Item.Weapon
|
||||
import Dodge.Item.Equipment
|
||||
import Dodge.Item.Consumable
|
||||
import Dodge.Creature.Inanimate
|
||||
import Picture
|
||||
import Dodge.Item.Craftable
|
||||
import Dodge.Item.Equipment
|
||||
import Dodge.Item.Weapon
|
||||
import Geometry.Data
|
||||
import qualified IntMapHelp as IM
|
||||
|
||||
--import Data.List
|
||||
--import Data.Char
|
||||
--import Data.Maybe
|
||||
--import Data.Function
|
||||
import Control.Lens
|
||||
--import System.Random
|
||||
--import qualified Data.Set as S
|
||||
--import qualified Data.Map as M
|
||||
import Picture
|
||||
|
||||
spawnerCrit :: Creature
|
||||
spawnerCrit = defaultCreature
|
||||
{ --_crUpdate = stateUpdate $ spawnerAI chaseCrit
|
||||
_crHP = 300
|
||||
, _crInv = IM.empty -- IM.fromList [(0,frontArmour)]
|
||||
}
|
||||
& crType . skinUpper .~ light4 blue
|
||||
spawnerCrit =
|
||||
defaultCreature
|
||||
& crHP .~ 300
|
||||
& crInv .~ IM.empty
|
||||
& crType . skinUpper .~ light4 blue
|
||||
|
||||
miniGunCrit :: Creature
|
||||
miniGunCrit = defaultCreature
|
||||
{ _crInv = IM.fromList [(0,miniGunX 3)]
|
||||
, _crRad = 10
|
||||
, _crState = defaultState
|
||||
, _crHP = 500
|
||||
, _crMvType = defaultAimMvType
|
||||
}
|
||||
& crType . skinUpper .~ light4 red
|
||||
& crType . humanoidAI .~ MiniGunAI
|
||||
miniGunCrit =
|
||||
defaultCreature
|
||||
& crInv .~ IM.fromList [(0, miniGunX 3)]
|
||||
& crType . skinUpper .~ light4 red
|
||||
& crType . humanoidAI .~ MiniGunAI
|
||||
|
||||
longCrit :: Creature
|
||||
longCrit = defaultCreature
|
||||
{ _crActionPlan = ActionPlan
|
||||
{ _apImpulse = []
|
||||
, _apAction = []
|
||||
, _apStrategy = StrategyActions WatchAndWait [StartSentinelPost]
|
||||
, _apGoal = []
|
||||
}
|
||||
, _crInv = IM.fromList [(0,sniperRifle),(1,medkit 100)]
|
||||
, _crRad = 10
|
||||
, _crHP = 150
|
||||
}
|
||||
& crType . humanoidAI .~ LongAI
|
||||
& crType . skinUpper .~ light4 red
|
||||
longCrit =
|
||||
defaultCreature
|
||||
& crActionPlan .~
|
||||
ActionPlan
|
||||
{ _apImpulse = []
|
||||
, _apAction = []
|
||||
, _apStrategy = StrategyActions WatchAndWait [StartSentinelPost]
|
||||
, _apGoal = []
|
||||
}
|
||||
& crInv .~ IM.fromList [(0, sniperRifle), (1, medkit 100)]
|
||||
& crType . humanoidAI .~ LongAI
|
||||
& crType . skinUpper .~ light4 red
|
||||
|
||||
multGunCrit :: Creature
|
||||
multGunCrit = defaultCreature
|
||||
{ _crInv = IM.fromList [(0,volleyGun 4),(1,medkit 100)]
|
||||
, _crRad = 10
|
||||
, _crHP = 300
|
||||
}
|
||||
& crType . skinUpper .~ light4 red
|
||||
& crType . humanoidAI .~ MultGunAI
|
||||
multGunCrit =
|
||||
defaultCreature
|
||||
& crInv .~ IM.fromList [(0, volleyGun 4), (1, medkit 100)]
|
||||
& crType . skinUpper .~ light4 red
|
||||
& crType . humanoidAI .~ MultGunAI
|
||||
|
||||
addArmour :: Creature -> Creature
|
||||
addArmour = over crInv insarmour
|
||||
where
|
||||
where
|
||||
insarmour xs = IM.insert (IM.newKey xs) frontArmour xs
|
||||
|
||||
{- | The creature you control.
|
||||
ID 0. -}
|
||||
ID 0.
|
||||
-}
|
||||
startCr :: Creature
|
||||
startCr = defaultCreature
|
||||
{ _crPos = V2 20 0
|
||||
, _crOldPos = V2 20 0
|
||||
, _crDir = pi/2
|
||||
, _crMvDir = pi/2
|
||||
, _crID = 0
|
||||
, _crRad = 10
|
||||
, _crMass = 10
|
||||
, _crHP = 1000
|
||||
, _crMaxHP = 1500
|
||||
, _crInv = startInventory
|
||||
, _crCorpse = MakeDefaultCorpse
|
||||
, _crFaction = PlayerFaction
|
||||
, _crMvType = MvWalking yourDefaultSpeed
|
||||
}
|
||||
& crType . skinUpper .~ light4 black
|
||||
& crType . humanoidAI .~ YourAI
|
||||
{- | Items you start with. -}
|
||||
startCr =
|
||||
defaultCreature
|
||||
& crPos .~ V2 20 0
|
||||
& crOldPos .~ V2 20 0
|
||||
& crDir .~ pi / 2
|
||||
& crMvDir .~ pi / 2
|
||||
& crID .~ 0
|
||||
& crHP .~ 1000
|
||||
& crMaxHP .~ 1500
|
||||
& crInv .~ startInventory
|
||||
& crCorpse .~ MakeDefaultCorpse
|
||||
& crFaction .~ PlayerFaction
|
||||
& crMvType .~ MvWalking yourDefaultSpeed
|
||||
& crType . skinUpper .~ light4 black
|
||||
& crType . humanoidAI .~ YourAI
|
||||
|
||||
-- | Items you start with.
|
||||
startInvList :: [Item]
|
||||
startInvList = [ ]
|
||||
startInvList = []
|
||||
|
||||
startInventory :: IM.IntMap Item
|
||||
startInventory = IM.fromList $ zip [0..] startInvList
|
||||
startInventory = IM.fromList $ zip [0 ..] startInvList
|
||||
|
||||
inventoryX :: Char -> [Item]
|
||||
inventoryX c = case c of
|
||||
'A' ->
|
||||
'A' ->
|
||||
[ clickDetector ITEMDETECTOR
|
||||
, makeTypeCraftNum 1 TRANSFORMER
|
||||
, makeTypeCraftNum 2 CAN
|
||||
, makeTypeCraftNum 2 PIPE
|
||||
]
|
||||
'B' ->
|
||||
'B' ->
|
||||
[ forceFieldGun
|
||||
, wristArmour
|
||||
, wristArmour
|
||||
@@ -143,7 +128,7 @@ inventoryX c = case c of
|
||||
[ blinkGun
|
||||
, unsafeBlinkGun
|
||||
, autoDetector WALLDETECTOR
|
||||
-- , effectGun "GIBBER" addCrGibs
|
||||
-- , effectGun "GIBBER" addCrGibs
|
||||
]
|
||||
'E' ->
|
||||
[ makeTypeCraftNum 3 PIPE
|
||||
@@ -182,17 +167,19 @@ inventoryX c = case c of
|
||||
, makeTypeCraftNum 5 CONCUSSMODULE
|
||||
, makeTypeCraftNum 5 STATICMODULE
|
||||
]
|
||||
'H' -> [ shatterGun ]
|
||||
'I' -> [ makeTypeCraft TELEPORTMODULE
|
||||
, makeTypeCraftNum 2 MICROCHIP
|
||||
]
|
||||
'J' -> [ lasGun
|
||||
, lasGun
|
||||
, dualBeam
|
||||
-- , lasWidePulse
|
||||
, makeTypeCraftNum 10 TRANSFORMER
|
||||
]
|
||||
'K' ->
|
||||
'H' -> [shatterGun]
|
||||
'I' ->
|
||||
[ makeTypeCraft TELEPORTMODULE
|
||||
, makeTypeCraftNum 2 MICROCHIP
|
||||
]
|
||||
'J' ->
|
||||
[ lasGun
|
||||
, lasGun
|
||||
, dualBeam
|
||||
, -- , lasWidePulse
|
||||
makeTypeCraftNum 10 TRANSFORMER
|
||||
]
|
||||
'K' ->
|
||||
[ autoRifle
|
||||
, makeTypeCraftNum 7 MICROCHIP
|
||||
, makeTypeCraftNum 4 HARDWARE
|
||||
@@ -211,77 +198,84 @@ inventoryX c = case c of
|
||||
_ -> []
|
||||
|
||||
testInventory :: IM.IntMap Item
|
||||
testInventory = IM.fromList $ zip [0..]
|
||||
[ makeTypeCraftNum 9 PIPE
|
||||
, autoAmr
|
||||
, brainHat
|
||||
, headLamp
|
||||
, autoDetector WALLDETECTOR
|
||||
, magShield
|
||||
, frontArmour
|
||||
, wristArmour
|
||||
, flatShield
|
||||
, sniperRifle
|
||||
, makeTypeCraftNum 1 MOTOR
|
||||
, makeTypeCraft INCENDIARYMODULE
|
||||
, makeTypeCraft STATICMODULE
|
||||
, makeTypeCraft CONCUSSMODULE
|
||||
-- , bounceModule
|
||||
-- , medkit 50 & itConsumption . itAmount .~ 3
|
||||
, teleportModule
|
||||
-- , makeTypeCraftNum 1 LIGHTER
|
||||
-- , makeTypeCraftNum 15 TUBE
|
||||
-- , makeTypeCraftNum 9 TRANSFORMER
|
||||
-- , makeTypeCraftNum 5 CREATURESENSOR
|
||||
-- , makeTypeCraftNum 9 PRISM
|
||||
-- , makeTypeCraftNum 3 DRUM
|
||||
-- , makeTypeCraftNum 3 PUMP
|
||||
-- , makeTypeCraftNum 3 BATTERY
|
||||
-- , makeTypeCraftNum 1 MAGNET
|
||||
-- , makeTypeCraftNum 1 TRANSMITTER
|
||||
, makeTypeCraftNum 10 HARDWARE
|
||||
, makeTypeCraftNum 3 SPRING
|
||||
, makeTypeCraftNum 10 CAN
|
||||
-- , makeTypeCraftNum 3 TIN
|
||||
, makeTypeCraftNum 3 PLANK
|
||||
-- , makeTypeCraftNum 1 MOTOR
|
||||
-- , makeTypeCraftNum 5 MICROCHIP
|
||||
-- , makeTypeCraftNum 5 AIUNIT
|
||||
]
|
||||
testInventory =
|
||||
IM.fromList $
|
||||
zip
|
||||
[0 ..]
|
||||
[ makeTypeCraftNum 9 PIPE
|
||||
, autoAmr
|
||||
, brainHat
|
||||
, headLamp
|
||||
, autoDetector WALLDETECTOR
|
||||
, magShield
|
||||
, frontArmour
|
||||
, wristArmour
|
||||
, flatShield
|
||||
, sniperRifle
|
||||
, makeTypeCraftNum 1 MOTOR
|
||||
, makeTypeCraft INCENDIARYMODULE
|
||||
, makeTypeCraft STATICMODULE
|
||||
, makeTypeCraft CONCUSSMODULE
|
||||
, -- , bounceModule
|
||||
-- , medkit 50 & itConsumption . itAmount .~ 3
|
||||
teleportModule
|
||||
, -- , makeTypeCraftNum 1 LIGHTER
|
||||
-- , makeTypeCraftNum 15 TUBE
|
||||
-- , makeTypeCraftNum 9 TRANSFORMER
|
||||
-- , makeTypeCraftNum 5 CREATURESENSOR
|
||||
-- , makeTypeCraftNum 9 PRISM
|
||||
-- , makeTypeCraftNum 3 DRUM
|
||||
-- , makeTypeCraftNum 3 PUMP
|
||||
-- , makeTypeCraftNum 3 BATTERY
|
||||
-- , makeTypeCraftNum 1 MAGNET
|
||||
-- , makeTypeCraftNum 1 TRANSMITTER
|
||||
makeTypeCraftNum 10 HARDWARE
|
||||
, makeTypeCraftNum 3 SPRING
|
||||
, makeTypeCraftNum 10 CAN
|
||||
, -- , makeTypeCraftNum 3 TIN
|
||||
makeTypeCraftNum 3 PLANK
|
||||
-- , makeTypeCraftNum 1 MOTOR
|
||||
-- , makeTypeCraftNum 5 MICROCHIP
|
||||
-- , makeTypeCraftNum 5 AIUNIT
|
||||
]
|
||||
|
||||
stackedInventory :: IM.IntMap Item
|
||||
stackedInventory = IM.fromList $ zip [0..]
|
||||
[--sonicGun
|
||||
burstRifle
|
||||
, pipe
|
||||
,rewindGun
|
||||
,tractorGun
|
||||
,autoPistol
|
||||
,pistol
|
||||
,teslaGun
|
||||
,blinkGun
|
||||
,miniGunX 3
|
||||
-- ,multGun
|
||||
,boosterGun
|
||||
,remoteLauncher
|
||||
,flatShield
|
||||
-- ,grenade
|
||||
,spawnGun (lamp 5)
|
||||
,lasGun
|
||||
,flameThrower
|
||||
,poisonSprayer
|
||||
,launcher
|
||||
-- ,droneLauncher
|
||||
--,lasGun
|
||||
--,grenade
|
||||
--,ltAutoGun,flamer,multGun,spreadGun,remoteLauncher
|
||||
--,longGun
|
||||
--,hvAutoGun
|
||||
--,teslaGun
|
||||
--,latchkey 0
|
||||
--,miniGun
|
||||
--,medkit 50
|
||||
--,bezierGun
|
||||
]
|
||||
stackedInventory =
|
||||
IM.fromList $
|
||||
zip
|
||||
[0 ..]
|
||||
[ --sonicGun
|
||||
burstRifle
|
||||
, pipe
|
||||
, rewindGun
|
||||
, tractorGun
|
||||
, autoPistol
|
||||
, pistol
|
||||
, teslaGun
|
||||
, blinkGun
|
||||
, miniGunX 3
|
||||
, -- ,multGun
|
||||
boosterGun
|
||||
, remoteLauncher
|
||||
, flatShield
|
||||
, -- ,grenade
|
||||
spawnGun (lamp 5)
|
||||
, lasGun
|
||||
, flameThrower
|
||||
, poisonSprayer
|
||||
, launcher
|
||||
-- ,droneLauncher
|
||||
--,lasGun
|
||||
--,grenade
|
||||
--,ltAutoGun,flamer,multGun,spreadGun,remoteLauncher
|
||||
--,longGun
|
||||
--,hvAutoGun
|
||||
--,teslaGun
|
||||
--,latchkey 0
|
||||
--,miniGun
|
||||
--,medkit 50
|
||||
--,bezierGun
|
||||
]
|
||||
|
||||
--smokeGenGun :: Item
|
||||
--smokeGenGun = effectGun "smoke" $ const spawnSmokeAtCursor
|
||||
|
||||
|
||||
Reference in New Issue
Block a user