From 4ad19aa19d69a055d24ad0ca8b2a19de6b69080e Mon Sep 17 00:00:00 2001 From: justin Date: Sun, 4 Sep 2022 10:23:17 +0100 Subject: [PATCH] Add files --- src/Dodge/Data/Scenario.hs | 115 +++++++++++++++++++++++++++++++++++++ src/Dodge/Scenario.hs | 3 + src/Loop/Data.hs | 11 ++++ 3 files changed, 129 insertions(+) create mode 100644 src/Dodge/Data/Scenario.hs create mode 100644 src/Dodge/Scenario.hs create mode 100644 src/Loop/Data.hs diff --git a/src/Dodge/Data/Scenario.hs b/src/Dodge/Data/Scenario.hs new file mode 100644 index 000000000..dac465251 --- /dev/null +++ b/src/Dodge/Data/Scenario.hs @@ -0,0 +1,115 @@ +module Dodge.Data.Scenario where + +data PlayerGoal + = Explore + | Survive + | Revenge + | DestroyItem + | DestroyBeing + | BecomePowerful + | Escape + | FetchItem + | GetToPoint + | StayInArea + | HiddenGoal PlayerGoal + | TwistGoal PlayerGoal PlayerGoal + +data Metapysics + = InRealWorld + | InDream + | InSimulation + | InParallelUniverse + | InDivineZone + +data DisasterType + = Virus + | AtomicWaste + | SocialUpheaval + | War + | ResourceFailure FailedResource + | AlienContact + | OverreachingAI + | Climate + | AsteroidStrike + | Eldritch + | DivineRetribution + +data FailedResource + = LimitedBreathableAtmosphere + | LimitedFood + | LimitedWater + +data Institution + = Government GovernmentScope + | SecretCabal + | Military + | Corporation + | Religion + +data GovernmentScope + = ReigonalGovernment + | ContinentalGovernment + | WorldGovernment + | SolarGovernment + +data FacilityType + = Factory + | SpaceTransport + | SpacePort + | SpaceColoniser + | SpaceCity + | Laboratory + | ResearchFacility + | TrainingCamp + | Mine + | Prison + | Dungeon + | RetailFacility + | LivingComplex + | Hospital + +data Biome + = Terrestrial TerrestrialBiome + | Spatial SpatialInfluence + | Cosmic + +data TerrestrialBiome + = UnderSea + | UnderGround + | UnderRoof + +data SpatialInfluence + = NearSolar + | NearGravityFlux + | NearCosmicRays + | NearDustBelt + +data SpaceshipRoom + = EngineSS + | ControlDeckSS + | SleepingQuatersSS + | CryostatisSS + | DockingBaySS + | LoadingBaySS + | StorageSS + | AirFiltrationSS + | PlantNurserySS + | LabSS + | ComsSS + | TorpedoBaySS + | MedBaySS + | IsolationUnitSS + | BrigSS + | RecRoomSS + | GymSS + | RezBaySS + | ViewingDeckSS + | LifeboatBaySS + | SkiffBaySS + | EnergyGeneratorSS + | TurbineBaySS + | ReactorSS + | ArmourySS + | LifeSupportSystemsRoomSS + | TransporterSS + | LaundrySS diff --git a/src/Dodge/Scenario.hs b/src/Dodge/Scenario.hs new file mode 100644 index 000000000..4cb178e85 --- /dev/null +++ b/src/Dodge/Scenario.hs @@ -0,0 +1,3 @@ +module Dodge.Scenario where + + diff --git a/src/Loop/Data.hs b/src/Loop/Data.hs new file mode 100644 index 000000000..8c5777aeb --- /dev/null +++ b/src/Loop/Data.hs @@ -0,0 +1,11 @@ +{-# LANGUAGE StrictData #-} +{-# LANGUAGE TemplateHaskell #-} + +module Loop.Data where + +data ConcurrentEffect world + = NoConcurrentEffect + | ConcurrentEffect + { _immediateEffect :: world -> world + , _sideEffect :: IO (world -> Maybe world) + }