From 7b3bda91c65494fcfdb1ba8d204757a5864bb38a Mon Sep 17 00:00:00 2001 From: jgk Date: Mon, 5 Apr 2021 11:37:10 +0200 Subject: [PATCH] Modularise items --- src/Dodge/Item.hs | 53 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/Dodge/Item.hs diff --git a/src/Dodge/Item.hs b/src/Dodge/Item.hs new file mode 100644 index 000000000..5a94aeae7 --- /dev/null +++ b/src/Dodge/Item.hs @@ -0,0 +1,53 @@ +module Dodge.Item + where + +import Dodge.Data +import Dodge.Base +import Dodge.Default +import Picture + +keyToken :: Int -> Item +keyToken n = defaultEquipment + { _itIdentity = Generic + , _itName = "KEYTOKEN "++show n + , _itMaxStack = 5 + , _itAmount = 1 + , _itFloorPict = setDepth 0.5 $ keyPic + , _itEquipPict = \cr _ -> setDepth 0 $ translate (-5) (-5) $ rotate (pi/2.5) keyPic + , _itEffect = NoItEffect + , _itHammer = HammerUp + , _itID = Nothing + , _itAimingSpeed = 1 + , _itAimingRange = 0 + , _itZoom = defaultItZoom + , _itInvColor = yellow + , _itInvDisplay = _itName + } +keyPic = color green $ + pictures [translate (-4) 0 $ thickCircle 4 2 + ,lineOfThickness 2 [(0,0),(8,0),(8,-4)] + ,lineOfThickness 2 [(4,0),(4,-4)] + ] + +latchkey :: Int -> Item +latchkey n = defaultEquipment + { _itIdentity = Generic + , _itName = "KEY "++show n + , _itMaxStack = 1 + , _itAmount = 1 + , _itFloorPict = setDepth 0.5 $ latchkeyPic + , _itEquipPict = \cr _ -> setDepth 0 $ translate (-5) (-5) $ rotate (pi/2.5) latchkeyPic + , _itEffect = NoItEffect + , _itHammer = HammerUp + , _itID = Nothing + , _itAimingSpeed = 1 + , _itAimingRange = 0 + , _itZoom = defaultItZoom + , _itInvColor = yellow + , _itInvDisplay = _itName + } +latchkeyPic = color yellow $ + pictures [translate (-4) 0 $ thickCircle 4 2 + ,lineOfThickness 2 [(0,0),(8,0),(8,-4)] + ,lineOfThickness 2 [(4,0),(4,-4)] + ]