Stun turrets with electrical damage directly
This commit is contained in:
@@ -48,14 +48,17 @@ damageMachine dam x mcid w = case w ^? cWorld . lWorld . machines . ix mcid of
|
||||
Just mc | Just se <- mc ^? mcType . _McDamSensor
|
||||
, sensorTypeDamages (se ^. sensType) dam
|
||||
-> (mempty,mcDamSensorUpdate' (_dmAmount dam) se mc w)
|
||||
Just mc | McTurret{} <- mc ^. mcType
|
||||
, Electrical edam <- dam
|
||||
-> (mempty, w & cWorld . lWorld . machines . ix mcid . mcType . mctTurretStun %~ (min 100 . (+ edam)))
|
||||
Just mc | _mcHP mc < x -> destroyMachine' mc w
|
||||
_ -> (mempty, w & cWorld . lWorld . machines . ix mcid . mcHP -~ x)
|
||||
|
||||
mcDamSensorUpdate' :: Int -> DamageSensor -> Machine -> World -> World
|
||||
mcDamSensorUpdate' x se = senseDamage' x (damageTypeThreshold' (se ^. sensType)) (se ^. sensType)
|
||||
mcDamSensorUpdate' x se = senseDamage' x (damageTypeThreshold' (se ^. sensType))
|
||||
|
||||
senseDamage' :: Int -> Int -> SensorType -> Machine -> World -> World
|
||||
senseDamage' x threshold dt mc =
|
||||
senseDamage' :: Int -> Int -> Machine -> World -> World
|
||||
senseDamage' x threshold mc =
|
||||
(cWorld . lWorld . machines . ix mcid %~ upmc)
|
||||
. updatels
|
||||
where
|
||||
|
||||
Reference in New Issue
Block a user