Tweak displayed info

This commit is contained in:
2023-01-11 23:22:59 +00:00
parent f2f414cee6
commit 94c0af97fd
8 changed files with 149 additions and 120 deletions
+107 -107
View File
@@ -93,35 +93,35 @@ heldInfo hit = case hit of
leftInfo :: LeftItemType -> String
leftInfo lit = case lit of
BOOSTER -> "A DEVICE THAT ALLOWS TRAVEL AT SPEED."
STOPWATCH -> "A DEVICE THAT TEMPORARILY PAUSES TIME."
REWINDWATCH -> "A DEVICE THAT REWINDS TIME A SHORT AMOUNT."
SCROLLWATCH -> "A DEVICE THAT CAN BE USED TO SCROLL THROUGH RECENT EVENTS."
BLINKER -> "A DEVICE THAT ALLOWS LOCAL TELEPORTATION."
BLINKERUNSAFE -> "A DEVICE THAT ALLOWS LOCAL TELEPORTATION. POTENTIALLY HAZARDOUS AROUND WALLS."
SHRINKER -> "A DEVICE THAT SHRINKS THE USER."
SPAWNER -> "A DEVICE THAT SPAWNS CREATURES."
BOOSTER -> "A device that allows travel at speed."
STOPWATCH -> "A device that temporarily pauses time."
REWINDWATCH -> "A device that rewinds time a short amount."
SCROLLWATCH -> "A device that can be used to scroll through recent events."
BLINKER -> "A device that allows local teleportation."
BLINKERUNSAFE -> "A device that allows local teleportation. Potentially hazardous around walls."
SHRINKER -> "A device that shrinks the user."
SPAWNER -> "A device that spawns creatures."
equipInfo :: EquipItemType -> String
equipInfo eit = case eit of
MAGSHIELD -> "A DEVICE DESIGNED TO REPULSE NEARBY METALLIC OBJECTS."
FLAMESHIELD -> "A DEVICE DESIGNED TO REPULSE NEARBY FLAMES."
FRONTARMOUR -> "A DEVICE DESIGNED TO SHIELD FROM THE FRONT."
WRISTARMOUR -> "A DEVICE THAT PROJECTS A FORCEFIELD."
INVISIBILITYEQUIPMENT _ -> "A DEVICE THAT BENDS LIGHT AROUND ITS USER."
BRAINHAT -> "AN IQ ENHANCER. USELESS."
HAT -> "A HAT"
MAGSHIELD -> "A device designed to repulse nearby metallic objects."
FLAMESHIELD -> "A device designed to repulse nearby flames."
FRONTARMOUR -> "A device designed to shield from the front."
WRISTARMOUR -> "A device that projects a forcefield."
INVISIBILITYEQUIPMENT _ -> "A device that bends light around its user."
BRAINHAT -> "An iq enhancer. Useless."
HAT -> "A hat."
TARGETINGHAT tt -> "Headwear that "++ targetingInfo tt
HEADLAMP -> "A TORCH STRAPPED TO A HAT."
POWERLEGS -> "STRENGTH ENHANCING LEGS."
SPEEDLEGS -> "SPEED ENHANCING LEGS."
JUMPLEGS -> "JUMP ENHANCING LEGS."
HEADLAMP -> "A torch strapped to a hat."
POWERLEGS -> "Strength enhancing legs."
SPEEDLEGS -> "Speed enhancing legs."
JUMPLEGS -> "Jump enhancing legs."
JETPACK -> "A DEVICE ENABLING FLIGHT."
FUELPACK -> "A LIQUID CONTAINER WITH ATTACHED HOSE."
BATTERYPACK -> "A COLLECTION OF BATTERIES WITH A UNIVERSAL ADAPTER."
JETPACK -> "A device enabling flight."
FUELPACK -> "A liquid container with attached hose."
BATTERYPACK -> "A collection of batteries with a universal adapter."
AUTODETECTOR d -> "A DEVICE THAT DETECTS "++detectorInfo d ++" IN AN EXPANDING RADIUS. PULSES AUTOMATICALLY. "
AUTODETECTOR d -> "A device that detects "++detectorInfo d ++" in an expanding radius. Pulses automatically. "
targetingInfo :: TargetType -> String
targetingInfo tt = case tt of
@@ -133,81 +133,81 @@ targetingInfo tt = case tt of
consumableInfo :: ConsumableItemType -> String
consumableInfo cit = case cit of
MEDKIT _ -> "A SELF-USE HEALING KIT."
EXPLOSIVES -> "EXPLOSIVES."
MEDKIT _ -> "A self-use healing kit."
EXPLOSIVES -> "Explosives."
craftInfo :: CraftType -> String
craftInfo fit = case fit of
PIPE -> "A RIGID CYLINDER."
TUBE -> "A WIDE RIGID CYLINDER."
HARDWARE -> "A COLLECTION OF EQUIPMENT AND DEVICES USEFUL FOR GENERAL CONSTRUCTION."
SPRING -> "AN OBJECT THAT EXERTS AN OPPOSING FORCE WHEN COMPRESSED OR STRETCHED."
PIPE -> "A rigid cylinder."
TUBE -> "A wide rigid cylinder."
HARDWARE -> "A collection of equipment and devices useful for general construction."
SPRING -> "An object that exerts an opposing force when compressed or stretched."
HOSE -> "A FLEXIBLE CYLINDER."
TAPE -> "A STRIP OF MATERIAL WITH AN ADHESIVE SIDE."
HOSE -> "A flexible cylinder."
TAPE -> "A strip of material with an adhesive side."
CAN -> "A SMALL METAL CYLINDRICAL CONTAINER."
TIN -> "A SMALL METAL CONTINER."
STEELDRUM -> "A METAL CYLINDRICAL CONTAINER."
PLANK -> "A STURDY PIECE OF WOOD."
GLASSSHARD -> "A BROKEN PIECE OF GLASS."
SCRAPMETAL -> "A BROKEN PIECE OF METAL."
PUMP -> "A DEVICE THAT CAN CREATE PRESSURE."
MOTOR -> "A DEVICE THAT CAN CREATE ROTATIONAL FORCE."
TRANSFORMER -> "A DEVICE THAT CAN STEP UP OR DOWN VOLTAGE AND CURRENT."
PRISM -> "AN OBJECT THAT REFRACTS LIGHT."
THERMOMETER -> "AN OBJECT THAT MEASURES TEMPERATURE."
LIGHTER -> "A DEVICE THAT CAN CREATE A SMALL FLAME."
MAGNET -> "A DEVICE THAT ATTRACTS ACCORDING TO ITS DIPOLES."
ANTIMATTER -> "A COLLECTION OF MATERIAL WITH INVERSE QUANTUM VALUES."
PLATE -> "A FLAT RIGID SHEET."
TRANSMITTER -> "A DEVICE THAT CAN EMIT RADIO SIGNALS."
MICROCHIP -> "A MINITURIZED COLLECTION OF ELECTRONIC CIRCUITS."
HARDDRIVE -> "A DEVICE DESIGNED TO STORE DATA WHEN UNPOWERED."
RAM -> "A DEVICE THAT CAN STORE DATA WHEN POWERED."
AIUNIT -> "A GENERAL PURPOSE ARTIFICIAL INTELLIGENCE UNIT."
CAMERA -> "A DEVICE DESIGNED TO CAPTURE LIGHT SIGNALS."
MINIDISPLAY -> "A DEVICE DESIGNED TO DISPLAY PICTURES."
LED -> "A LIGHT EMITTING DIODE."
NAILBOX -> "A BOX OF WOOD FASTENINGS."
IRONBAR -> "A RIGID PIECE OF METAL."
LIGHTSENSOR -> "A DEVICE THAT DETECTS PHOTONS."
HEATSENSOR -> "AN OBJECT THAT DETECTS TEMPERATURE."
SOUNDSENSOR -> "A DEVICE THAT DETECTS AIR VIBRATION."
MICROPHONE -> "A DEVICE THAT MEASURES AIR VIBRATION."
CREATURESENSOR -> "A DEVICE FOR DETECTING LIVING BEINGS."
WIRE -> "A SMALL THIN OBJECT THAT CONDUCTS ELECTRICITY."
BATTERY -> "A STORE OF ELECTICAL POTENTIAL ENERGY."
FUELCELL -> "A DEVICES THAT CONVERTS CHEMICAL ENERGY INTO ELECTRICITY."
PORTABLEFUSION -> "A MINIATURE NUCLEAR REACTOR."
INCENDIARYMODULE -> "A DEVICE THAT CONVERTS PROJECTILES INTO INCENDIARY PROJECTILES."
STATICMODULE -> "A DEVICE THAT CONVERTS PROJECTILES INTO ELECTROSTATIC PROJECTILES."
CONCUSSMODULE -> "A DEVICE THAT CONVERTS PROJECTILES INTO CONCUSSIVE PROJECTILES."
FRAGMODULE -> "A DEVICE THAT CONVERTS PROJECTILES INTO FRAGMENTATION PROJECTILES."
FLASHMODULE -> "A DEVICE THAT CONVERTS PROJECTILES INTO FLASHBANG PROJECTILES."
BOUNCEMODULE -> "A DEVICE THAT CONVERTS PROJECTILES INTO BOUNCING PROJECTILES."
PENMODULE -> "A DEVICE THAT CONVERTS PROJECTILES INTO PENTRATING 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."
CAN -> "A small metal cylindrical container."
TIN -> "A small metal continer."
STEELDRUM -> "A metal cylindrical container."
PLANK -> "A sturdy piece of wood."
GLASSSHARD -> "A broken piece of glass."
SCRAPMETAL -> "A broken piece of metal."
PUMP -> "A device that can create pressure."
MOTOR -> "A device that can create rotational force."
TRANSFORMER -> "A device that can step up or down voltage and current."
PRISM -> "An object that refracts light."
THERMOMETER -> "An object that measures temperature."
LIGHTER -> "A device that can create a small flame."
MAGNET -> "A device that attracts according to its dipoles."
ANTIMATTER -> "A collection of material with inverse quantum values."
PLATE -> "A flat rigid sheet."
TRANSMITTER -> "A device that can emit radio signals."
MICROCHIP -> "A miniturized collection of electronic circuits."
HARDDRIVE -> "A device designed to store data when unpowered."
RAM -> "A device that can store data when powered."
AIUNIT -> "A general purpose artificial intelligence unit."
CAMERA -> "A device designed to capture light signals."
MINIDISPLAY -> "A device designed to display pictures."
LED -> "A light emitting diode."
NAILBOX -> "A box of wood fastenings."
IRONBAR -> "A rigid piece of metal."
LIGHTSENSOR -> "A device that detects photons."
HEATSENSOR -> "An object that detects temperature."
SOUNDSENSOR -> "A device that detects air vibration."
MICROPHONE -> "A device that measures air vibration."
CREATURESENSOR -> "A device for detecting living beings."
WIRE -> "A small thin object that conducts electricity."
BATTERY -> "A store of electical potential energy."
FUELCELL -> "A devices that converts chemical energy into electricity."
PORTABLEFUSION -> "A miniature nuclear reactor."
INCENDIARYMODULE -> "A device that converts projectiles into incendiary projectiles."
STATICMODULE -> "A device that converts projectiles into electrostatic projectiles."
CONCUSSMODULE -> "A device that converts projectiles into concussive projectiles."
FRAGMODULE -> "A device that converts projectiles into fragmentation projectiles."
FLASHMODULE -> "A device that converts projectiles into flashbang projectiles."
BOUNCEMODULE -> "A device that converts projectiles into bouncing projectiles."
PENMODULE -> "A device that converts projectiles into pentrating 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."
TARGETMODULE _ -> "A targeting module."
detectorInfo :: Detector -> String
detectorInfo d = case d of
ITEMDETECTOR -> "ITEMS"
CREATUREDETECTOR -> "CREATURES"
WALLDETECTOR -> "WALLS"
ITEMDETECTOR -> "items"
CREATUREDETECTOR -> "creatures"
WALLDETECTOR -> "walls"
itmUsageInfo :: Item -> String
itmUsageInfo itm = case itm ^. itType . iyBase of
HELD _ -> heldPositionInfo itm
LEFT _ -> "THIS ITEM CAN BE EQUIPPED" ++ itmEquipSiteInfo itm
++ ". WHEN EQUIPPED, IT CAN BE ACTIVATED."
EQUIP _ -> "THIS ITEM CAN BE EQUIPPED " ++ itmEquipSiteInfo itm ++ "."
Consumable _ -> "THIS ITEM CAN BE CONSUMED."
LEFT _ -> "This item can be equipped" ++ itmEquipSiteInfo itm
++ ". When equipped, it can be activated."
EQUIP _ -> "This item can be equipped " ++ itmEquipSiteInfo itm ++ "."
Consumable _ -> "This item can be consumed."
CRAFT _ -> ""
_ -> "THIS SHOULD NOT BE DISPLAYED"
@@ -216,38 +216,38 @@ heldPositionInfo = maybe undefined aimStanceInfo . (^? itUse . heldAim . aimStan
aimStanceInfo :: AimStance -> String
aimStanceInfo as = case as of
TwoHandTwist -> "IT IS HELD IN TWO HANDS ALONG ITS LENGTH."
TwoHandFlat -> "IT IS HELD IN TWO HANDS AT ITS SIDES."
OneHand -> "IT IS HELD IN ONE HAND."
LeaveHolstered -> "IT IS TO BE LEFT HOLSTERED."
TwoHandTwist -> "It is held in two hands along its length."
TwoHandFlat -> "It is held in two hands at its sides."
OneHand -> "It is held in one hand."
-- LeaveHolstered -> "It is to be left holstered."
itmEquipSiteInfo :: Item -> String
itmEquipSiteInfo = maybe "" equipSiteInfo . (^? itUse . equipEffect . eeSite)
equipSiteInfo :: EquipSite -> String
equipSiteInfo es = case es of
GoesOnHead -> " ON THE HEAD"
GoesOnChest -> " ON THE CHEST"
GoesOnBack -> " ON THE BACK"
GoesOnWrist -> " ON A WRIST"
GoesOnLegs -> " ON BOTH LEGS"
GoesOnSpecial -> " IN A UNIQUE LOCATION"
GoesOnHead -> " on the head"
GoesOnChest -> " on the chest"
GoesOnBack -> " on the back"
GoesOnWrist -> " on a wrist"
GoesOnLegs -> " on both legs"
GoesOnSpecial -> " in a unique location"
itmModuleInfo :: M.Map ModuleSlot ItemModuleType -> String
itmModuleInfo m
| m == mempty = "IT CANNOT BE MODIFIED WITHOUT CHANGING ITS FORM ENTIRELY."
| otherwise = "IT CAN BE MODIFIED "
| m == mempty = ""
| otherwise = "Modifications can be made "
moduleInfo :: ModuleSlot -> String
moduleInfo imt = case imt of
ModBullet -> "WITH A NEW BULLET TYPE"
ModBulletSpawn -> "TO CHANGE ITS BULLET PAYLOAD"
ModRifleMag -> "TO CHANGE ITS MAGAZINE"
ModAutoMag -> "TO CHANGE ITS MAGAZINE"
ModTarget -> "BY ADDING A TARGETING SYSTEM"
ModBulletTrajectory -> "TO CHANGE THE TRAJECTORY OF FIRED BULLETS"
ModLauncherHoming -> "TO CHANGE ITS HOMING SYSTEM"
ModBattery -> "TO CHANGE ITS BATTERY SYSTEM"
ModTeleport -> "TO CHANGE ITS TELEPORT SYSTEM"
ModDualBeam -> "TO CHANGE ITS DUAL BEAMS"
ModHeldAttach -> "BY ADDING AN ATTACHEMENT"
ModBulletCollision -> "that affect how fired bullets collide with objects"
ModBulletPayload -> "that change bullet payloads"
ModRifleMag -> "to the magazine"
ModAutoMag -> "to the magazine"
ModTarget -> "to add a targeting system"
ModBulletTrajectory -> "to the trajectory of fired bullets"
ModLauncherHoming -> "to add a homing system"
ModBattery -> "to its battery system"
ModTeleport -> "to add a teleporation system"
ModDualBeam -> "to the dual beams"
ModHeldAttach -> "by adding an attachment"