Add shapes for craft items

This commit is contained in:
2024-12-21 17:16:40 +00:00
parent 978bf864cc
commit 17cb1d8ff8
4 changed files with 114 additions and 101 deletions
+5 -5
View File
@@ -63,11 +63,11 @@ data CraftType
| WIRE
| FUELCELL
| PORTABLEFUSION
| FRAGMODULE
| FLASHMODULE
| GASINJECTOR
| FLAKCRAFT
| FRAGCRAFT
-- | FRAGMODULE
-- | FLASHMODULE
-- | GASINJECTOR
-- | FLAKCRAFT
-- | FRAGCRAFT
deriving (Eq, Ord, Show, Read, Enum, Bounded)
data AttachType
+38 -24
View File
@@ -59,41 +59,55 @@ craftItemSPic = \case
GLASSSHARD -> colorSH azure $ upperPrismPolyST 1 $ [V2 0 (-1), V2 4 (-0.5), V2 0 1]
SCRAPMETAL -> colorSH (greyN 0.3) $ upperPrismPolyST 3 $ square 4
PUMP -> colorSH yellow . translateSH (V3 4 0 0) $
(upperCylinder Small Typical 1 $ polyCirc 3 4)
(upperCylinder Small Typical 1 $ polyCirc 4 4)
<> upperPrismPolyST 1 (rectNSWE (-2) (-4) 4 0)
<> upperPrismPolyST 1 (rectNSWE 4 2 0 (-4))
MOTOR -> colorSH orange $ xCylinderST 5 3 <> xCylinderST 3 5
TRANSFORMER -> colorSH blue $ upperPrismPolyST 3 $ square 4
PRISM -> colorSH azure $ upperPrismPolyST 1 $ [V2 0 (-3), V2 4 0, V2 0 3]
LIGHTER -> colorSH yellow . upperPrismPolyST 3 $ rectXH 2 2
-- MAGNET
-- ANTIMATTER
-- PLATE
-- TRANSMITTER
-- MICROCHIP
-- HARDDRIVE
-- RAM
-- AIUNIT
-- CAMERA
-- MINIDISPLAY -- visual display unit
-- LED
-- NAILBOX
-- IRONBAR
-- LIGHTSENSOR
-- SOUNDSENSOR
-- HEATSENSOR
-- MICROPHONE
-- THERMOMETER
-- CREATURESENSOR
-- WIRE
-- FUELCELL
-- PORTABLEFUSION
MAGNET -> colorSH red (upperPrismPolyST 1 (rectNSWE (2) (-2) 2 0))
<> colorSH (greyN 0.5) (upperPrismPolyST 1 (rectNSWE (2) (-2) 4 2))
<> colorSH blue (upperPrismPolyST 1 (rectNSWE (2) (-2) 6 4))
ANTIMATTER -> colorSH violet $ upperPrismPolyST 3 $ square 4
PLATE -> colorSH green $ upperPrismPolyST 8 $ rectXH 2 5
TRANSMITTER -> colorSH green $
xCylinderST 1 5 <> translateSH (V3 5 0 0) (upperPrismPolyHalfST 3 $ polyCirc 4 3)
MICROCHIP -> colorSH yellow $ upperPrismPolyST 1 $ square 4
HARDDRIVE -> colorSH green $ upperPrismPolyST 1 $ square 4
RAM -> colorSH orange $ upperPrismPolyST 1 $ square 4
AIUNIT -> colorSH blue $ upperPrismPolyST 1 $ square 4
CAMERA -> colorSH yellow $ xCylinderST 5 3 <> xCylinderST 3 5
MINIDISPLAY -> colorSH green $ upperPrismPolyST 1 (square 4)
<> upperPrismPolyST 2 (rectNSWE 4 (-4) 3 4)
LED -> colorSH yellow $ upperPrismPolyST 1 (square 2)
NAILBOX -> colorSH green $ upperPrismPolyST 3 (rectXH 4 3)
IRONBAR -> colorSH (greyN 0.5) $ upperPrismPolyST 3 $ rectXH 8 2
LIGHTSENSOR -> colorSH green (upperPrismPolyST 1 $ square 3)
<> colorSH yellow (upperPrismPolyHalfST 3 $ polyCirc 4 3)
SOUNDSENSOR -> colorSH yellow (upperPrismPolyST 1 $ rectXH 4 1)
<> translateSH (V3 4 1 0) (colorSH yellow (upperPrismPolyHalfST 2 $ polyCirc 4 2))
<> translateSH (V3 4 (-1) 0) (colorSH yellow (upperPrismPolyHalfST 2 $ polyCirc 4 2))
MICROPHONE -> colorSH yellow (upperPrismPolyST 1 $ rectXH 3 1)
<> translateSH (V3 3 0 0) (colorSH yellow (upperPrismPolyHalfST 2 $ polyCirc 4 2))
HEATSENSOR -> colorSH red (upperPrismPolyST 1 $ rectXH 4 1)
<> translateSH (V3 4 1 0) (colorSH yellow (upperPrismPolyHalfST 2 $ polyCirc 4 2))
<> translateSH (V3 4 (-1) 0) (colorSH yellow (upperPrismPolyHalfST 2 $ polyCirc 4 2))
THERMOMETER -> colorSH green (upperPrismPolyST 1 $ rectXH 3 1)
<> translateSH (V3 3 0 0) (colorSH yellow (upperPrismPolyHalfST 2 $ polyCirc 4 2))
CREATURESENSOR -> colorSH azure (upperPrismPolyST 1 $ rectXH 4 1)
<> translateSH (V3 4 1 0) (colorSH yellow (upperPrismPolyHalfST 2 $ polyCirc 4 2))
<> translateSH (V3 4 (-1) 0) (colorSH yellow (upperPrismPolyHalfST 2 $ polyCirc 4 2))
WIRE -> colorSH blue $ xCylinderST 1 5
FUELCELL -> colorSH blue
. translateSH (V3 4 0 0) . upperCylinder Small Typical 1 $ polyCirc 3 4
PORTABLEFUSION -> colorSH azure
. translateSH (V3 4 0 0) . upperCylinder Small Typical 1 $ polyCirc 3 4
-- FRAGMODULE
-- FLASHMODULE
-- GASINJECTOR
-- FLAKCRAFT
-- FRAGCRAFT
_ -> mempty
ammoMagSPic :: Item -> AmmoMagType -> SPic
ammoMagSPic it = \case
+5 -5
View File
@@ -162,18 +162,18 @@ craftInfo fit = case fit of
-- BATTERY -> "A store of electical potential energy."
FUELCELL -> "A devices that converts chemical energy into electricity."
PORTABLEFUSION -> "A miniature nuclear reactor."
GASINJECTOR -> "A device that can inject small quantities of gas into objects."
-- GASINJECTOR -> "A device that can inject small quantities of gas into objects."
-- ENERGYBALLCRAFT ebt -> "A device that can create " ++ addIndefiniteArticle (displayEnergyBallType ebt) ++ " effect."
FRAGMODULE -> "A device that converts projectiles into fragmentation projectiles."
FLASHMODULE -> "A device that converts projectiles into flashbang projectiles."
-- FRAGMODULE -> "A device that converts projectiles into fragmentation projectiles."
-- FLASHMODULE -> "A device that converts projectiles into flashbang projectiles."
-- BULBODYCRAFT be -> "A device that converts bullets into " ++ displayBulletBody be ++ " projectiles."
-- TELEPORTMODULE -> "A device that allows for near-instant translocation across space."
-- TIMEMODULE -> "A device that can affect temporality."
-- SIZEMODULE -> "A device that can affect physical size."
-- GRAVITYMODULE -> "A device that can affect gravitational fields."
-- TARGETMODULE _ -> "A targeting module."
FLAKCRAFT -> "Creates flak bullets."
FRAGCRAFT -> "Creates fragmentation bullets."
-- FLAKCRAFT -> "Creates flak bullets."
-- FRAGCRAFT -> "Creates fragmentation bullets."
detectorInfo :: Detector -> String
detectorInfo d = case d of