Refactor, add bullet modules and weapon effect modifiers
This commit is contained in:
@@ -16,7 +16,7 @@ import Dodge.LightSources
|
||||
import Dodge.LevelGen
|
||||
import Dodge.Creature.Inanimate
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
--import Dodge.Event.Test
|
||||
import Dodge.Event.Test
|
||||
import Dodge.Event.Menu
|
||||
|
||||
import SDL
|
||||
@@ -51,13 +51,13 @@ handlePressedKeyInGame scode w
|
||||
| scode == dropItemKey (_keyConfig w) = Just $ youDropItem w
|
||||
| scode == toggleMapKey (_keyConfig w) = Just $ toggleMap w
|
||||
| scode == reloadKey (_keyConfig w) = Just $ fromMaybe w $ startReloadingWeapon (you w) w
|
||||
-- | scode == testEventKey (_keyConfig w) = Just $ testEvent w
|
||||
| scode == testEventKey (_keyConfig w) = Just $ testEvent w
|
||||
| scode == spaceActionKey (_keyConfig w) = Just $ spaceAction w
|
||||
| scode == rotateCameraPlusKey (_keyConfig w) = Just $ w & cameraRot +~ 0.01
|
||||
| scode == rotateCameraMinusKey (_keyConfig w) = Just $ w & cameraRot -~ 0.01
|
||||
| scode == ScancodeF5 = Just $ dropLight w
|
||||
| scode == ScancodeF6 = Just $ dropLight' w
|
||||
| scode == ScancodeT = Just $ w & inventoryMode %~ toggleInv TweakInventory
|
||||
| scode == ScancodeX = Just $ w & inventoryMode %~ toggleInv TweakInventory
|
||||
| scode == ScancodeC = Just $ w & inventoryMode %~ toggleInv CombineInventory
|
||||
| scode == ScancodeI = Just $ w & inventoryMode %~ toggleInv InspectInventory
|
||||
handlePressedKeyInGame _ w = Just w
|
||||
@@ -79,13 +79,11 @@ gotoTerminal w = case _menuLayers w of
|
||||
|
||||
spaceAction :: World -> World
|
||||
spaceAction w = if _carteDisplay w
|
||||
then
|
||||
w & carteCenter .~ theLoc
|
||||
else
|
||||
case listToMaybe $ _closeActiveObjects w of
|
||||
Just (Left flit) -> pickUpItem 0 flit w
|
||||
Just (Right but) -> updateTopCloseObject (_btID but) $ _btEvent but but w
|
||||
Nothing -> w
|
||||
then w & carteCenter .~ theLoc
|
||||
else case (_inventoryMode w, listToMaybe $ _closeActiveObjects w) of
|
||||
(TopInventory,Just (Left flit)) -> pickUpItem 0 flit w
|
||||
(TopInventory,Just (Right but)) -> updateTopCloseObject (_btID but) $ _btEvent but but w
|
||||
_ -> w & inventoryMode .~ TopInventory
|
||||
where
|
||||
theLoc = fst (_seenLocations w IM.! _selLocation w) w
|
||||
updateTopCloseObject i = closeActiveObjects %~ ( Right (_buttons w IM.! i) : ) . tail
|
||||
|
||||
Reference in New Issue
Block a user