Move toward data-ifying item SPics

This commit is contained in:
2022-07-11 11:32:25 +01:00
parent 3447b9b0bb
commit 33d94bd05a
23 changed files with 332 additions and 331 deletions
+38 -144
View File
@@ -22,6 +22,39 @@ itemFromBase ibt = case ibt of
EFFGUN _ -> undefined
AUTOEFFGUN _ -> undefined
-- Weapons
HELD ht -> itemFromHeldType ht
--GRENADE
--REMOTEBOMB
-- Utility items
BOOSTER -> boosterGun
REWINDER -> rewindGun
BLINKER -> blinkGun
BLINKERUNSAFE -> unsafeBlinkGun
SHRINKER -> shrinkGun
SPAWNER -> error "need to datify creatures first"
-- Equipment
CLICKDETECTOR d -> clickDetector d
AUTODETECTOR d -> autoDetector d
MAGSHIELD -> magShield
FLAMESHIELD -> flameShield
FRONTARMOUR -> frontArmour
WRISTARMOUR -> wristArmour
INVISIBILITYEQUIPMENT GoesOnWrist -> wristInvisibility
INVISIBILITYEQUIPMENT _ -> error "need to define invisibility for more than wrist"
BRAINHAT -> brainHat
HEADLAMP -> headLamp
HEADLAMP1 -> headLamp1
POWERLEGS -> powerLegs
SPEEDLEGS -> speedLegs
JUMPLEGS -> jumpLegs
FLATSHIELD -> flatShield
JETPACK -> jetPack
CRAFT cr -> makeTypeCraft cr
KEYCARD i -> keyCard i
MEDKIT i -> medkit i
itemFromHeldType :: HeldItemType -> Item
itemFromHeldType ht = case ht of
SHATTERGUN -> shatterGun
BANGSTICK i -> bangStick i
PISTOL -> pistol
REVOLVER -> revolver
@@ -60,9 +93,9 @@ itemFromBase ibt = case ibt of
TESLAGUN -> teslaGun
LASGUN -> lasGun
LASCIRCLE -> lasCircle
LASPULSE -> lasPulse
--LASPULSE -> lasPulse
DUALBEAM -> dualBeam
LASGUNSWING -> lasSwing
--LASGUNSWING -> lasSwing
--LASGUNSWAY -> lasSway
-- LASGUNWIDEPULSE -> lasWidePulse
LASWIDE i -> lasWide i
@@ -75,156 +108,17 @@ itemFromBase ibt = case ibt of
REMOTELAUNCHER -> remoteLauncher
POISONSPRAYER -> poisonSprayer
DRONELAUNCHER -> droneLauncher
--GRENADE
--REMOTEBOMB
-- Utility items
BOOSTER -> boosterGun
REWINDER -> rewindGun
BLINKER -> blinkGun
BLINKERUNSAFE -> unsafeBlinkGun
FORCEFIELDGUN -> forceFieldGun
SHRINKER -> shrinkGun
SHATTERGUN -> shatterGun
SPAWNER -> error "need to datify creatures first"
-- Equipment
CLICKDETECTOR d -> clickDetector d
AUTODETECTOR d -> autoDetector d
MAGSHIELD -> magShield
FLAMESHIELD -> flameShield
FRONTARMOUR -> frontArmour
WRISTARMOUR -> wristArmour
INVISIBILITYEQUIPMENT GoesOnWrist -> wristInvisibility
INVISIBILITYEQUIPMENT _ -> error "need to define invisibility for more than wrist"
BRAINHAT -> brainHat
HEADLAMP -> headLamp
HEADLAMP1 -> headLamp1
POWERLEGS -> powerLegs
SPEEDLEGS -> speedLegs
JUMPLEGS -> jumpLegs
FLATSHIELD -> flatShield
JETPACK -> jetPack
CRAFT cr -> makeTypeCraft cr
KEYCARD i -> keyCard i
MEDKIT i -> medkit i
--
-- Crafting
--PIPE
--TUBE
--HARDWARE
--SPRING
--CAN
--TIN
--DRUM
--PLANK
--SHARDGLASS
--PUMP
--MOTOR
--TRANSFORMER
--PRISM
--LIGHTER
--MAGNET
--ANTIMATTER
--PLATE
--TRANSMITTER
--MICROCHIP
--AIUNIT
--CAMERA
--MINIDISPLAY -- visual display unit
--LED
--NAILBOX
--IRONBAR
--LIGHTSENSOR
--SOUNDSENSOR
--HEATSENSOR
--CREATURESENSOR
--WIRE
--BATTERY
--FUELCELL
--PORTABLEFUSION
-- Modules
-- bullet
--INCENDIARYMODULE
--STATICMODULE
--CONCUSSMODULE
--FRAGMODULE
--FLASHMODULE
--BOUNCEMODULE
--
--TELEPORTMODULE
--TIMEMODULE
--SIZEMODULE
--GRAVITYMODULE
--
--
--NoCombineType
--
baseToFamily :: ItemBaseType -> ItemFamily
baseToFamily ibt = case ibt of
NOTDEFINED -> undefined
EFFGUN _ -> HeldFamily
AUTOEFFGUN _ -> HeldFamily
BANGSTICK _ -> HeldFamily
PISTOL -> HeldFamily
REVOLVER -> HeldFamily
REVOLVERX _ -> HeldFamily
MACHINEPISTOL -> HeldFamily
AUTOPISTOL -> HeldFamily
SMG -> HeldFamily
BANGCONE -> HeldFamily
BLUNDERBUSS -> HeldFamily
GRAPECANNON _ -> HeldFamily
-- | GRENADELAUNCHER In-> HeldFamilyt -- number of chambers that can be reloaded
-- | MORTARCONE / HANDM-> HeldFamilyORTAR
-- | MINIGUN -> HeldFamily
MINIGUNX _ -> HeldFamily
VOLLEYGUN _ -> HeldFamily
RIFLE -> HeldFamily
REPEATER -> HeldFamily
AUTORIFLE -> HeldFamily
BURSTRIFLE -> HeldFamily
-- FASTBURSTRIFLE -> HeldFamily
-- COMPLETEBURSTRIFLE -> HeldFamily
BANGROD -> HeldFamily
ELEPHANTGUN -> HeldFamily
AMR -> HeldFamily
AUTOAMR -> HeldFamily
SNIPERRIFLE -> HeldFamily
MACHINEGUN -> HeldFamily
FLAMESPITTER -> HeldFamily
FLAMETHROWER -> HeldFamily
FLAMETORRENT -> HeldFamily
FLAMEWALL -> HeldFamily
BLOWTORCH -> HeldFamily
AUTOGUN -> HeldFamily
-- | SPREADGUN -> HeldFamily
-- | MULTGUN -> HeldFamily
SPARKGUN -> HeldFamily
TESLAGUN -> HeldFamily
LASGUN -> HeldFamily
LASCIRCLE -> HeldFamily
LASPULSE -> HeldFamily
DUALBEAM -> HeldFamily
LASGUNSWING -> HeldFamily
-- LASGUNSWAY -> HeldFamily
-- LASGUNWIDEPULSE -> HeldFamily
LASWIDE _ -> HeldFamily
--LASGUNFOCUS _ -> HeldFamily
SONICGUN -> HeldFamily
TRACTORGUN -> HeldFamily
LAUNCHER -> HeldFamily
LAUNCHERX _ -> HeldFamily
-- | TRACKINGLAUNCHER -> HeldFamily
REMOTELAUNCHER -> HeldFamily
POISONSPRAYER -> HeldFamily
DRONELAUNCHER -> HeldFamily
SHATTERGUN -> HeldFamily
-- | GRENADE
-- | REMOTEBOMB
EFFGUN _ -> undefined
AUTOEFFGUN _ -> undefined
HELD _ -> HeldFamily
BOOSTER -> LeftClickFamily
REWINDER -> LeftClickFamily
BLINKER -> LeftClickFamily
BLINKERUNSAFE -> LeftClickFamily
FORCEFIELDGUN -> LeftClickFamily
SHRINKER -> LeftClickFamily
SPAWNER -> LeftClickFamily
CLICKDETECTOR _ -> HeldFamily