Add terminal GODON command
This commit is contained in:
@@ -17,9 +17,9 @@ import Shape
|
||||
import Dodge.Base
|
||||
import Dodge.Base.Collide
|
||||
import LensHelp
|
||||
import qualified IntMapHelp as IM
|
||||
|
||||
import Data.List
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
|
||||
putLasTurret :: Float -> Placement
|
||||
putLasTurret rotSpeed = sps0 $ PutMachine blue (reverse $ square wdth) defaultMachine
|
||||
@@ -34,6 +34,7 @@ lasTurret = Turret
|
||||
{ _tuWeapon = autoRifle
|
||||
, _tuTurnSpeed = 0.1
|
||||
, _tuFireTime = 0
|
||||
, _tuMCrID = Nothing
|
||||
}
|
||||
|
||||
updateTurret :: Float -> Machine -> World -> World
|
||||
@@ -42,8 +43,15 @@ updateTurret rotSpeed mc w
|
||||
& deleteWallIDs (_mcWallIDs mc)
|
||||
& makeExplosionAt mcpos
|
||||
& copyItemToFloor mcpos lasGun
|
||||
| otherwise = w & doDamage & maybeFire & elecDamBranch
|
||||
| otherwise = w
|
||||
& initHomonculus
|
||||
& doDamage
|
||||
& maybeFire
|
||||
& elecDamBranch
|
||||
where
|
||||
initHomonculus w' = case w' ^? machines . ix mcid . mcType . tuMCrID . _Just of
|
||||
Nothing -> w' & machines . ix mcid . mcType . tuMCrID ?~ IM.newKey (_creatures w')
|
||||
_ -> w'
|
||||
doDamage = machines . ix mcid %~
|
||||
( (mcDamage .~ [Electrical (min 2500 $ max 0 (elecDam - 10)) 0 0 0])
|
||||
. (mcHP -~ dam)
|
||||
|
||||
Reference in New Issue
Block a user