Add whirdown for machine pistol
This commit is contained in:
@@ -3,6 +3,7 @@ module Dodge.Creature.State (
|
||||
doDamage,
|
||||
) where
|
||||
|
||||
import Dodge.Item.UseDelay
|
||||
import Control.Applicative
|
||||
import Control.Monad
|
||||
import qualified Data.Map.Strict as M
|
||||
@@ -163,9 +164,19 @@ invItemLocUpdate cr loc w = doAnyEquipmentEffect loc cr $ case itm ^. itType of
|
||||
w & pointerToItem itm . itParams . wTime
|
||||
%~ (max 0 . subtract 1)
|
||||
HELD MACHINEPISTOL{}
|
||||
| fromMaybe 0 (itm ^? itParams . wTime) >= _coolEnd (useDelay itm) ->
|
||||
w & pointerToItem itm . itParams . wTime
|
||||
.~ 0
|
||||
| fromMaybe 0 (itm ^? itParams . wTime) >= _coolStart (useDelay itm) ->
|
||||
w
|
||||
& pointerToItem itm . itParams . wTime +~ 1
|
||||
& soundContinue (CrWeaponSound (_crID cr) (fromIntegral $ _itID itm)) (_crPos cr) whirdownS (Just 1)
|
||||
| itm ^? itParams . isWarming == Just True ->
|
||||
w
|
||||
& pointerToItem itm . itParams . isWarming .~ False
|
||||
| fromMaybe 0 (itm ^? itParams . wTime) >= _warmStart (useDelay itm) ->
|
||||
w & pointerToItem itm . itParams . wTime
|
||||
.~ _coolStart (useDelay itm)
|
||||
| otherwise ->
|
||||
w & pointerToItem itm . itParams . wTime
|
||||
.~ 0
|
||||
|
||||
Reference in New Issue
Block a user