about summary refs log tree commit diff
path: root/users/grfn/xanthous/src/Xanthous/Generators/Level.hs
diff options
context:
space:
mode:
authorGriffin Smith <grfn@gws.fyi>2021-11-06T16·24-0400
committergrfn <grfn@gws.fyi>2021-11-06T17·34+0000
commiteeafd0fa0ed85957f0609863d1d06b570c55341b (patch)
tree2f00ad265dd31f4d1d0f4a2ea418aed8f70071c1 /users/grfn/xanthous/src/Xanthous/Generators/Level.hs
parent580e37ff64b47f46cbafe39e448847320295f591 (diff)
fix(gs/xanthous): Don't gen dupe tutorial messages r/3011
Don't generate tutorial messages on levels other than the first.

Change-Id: I7681377461b92f5d5015931b0088bef9d358d2e4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3804
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
Diffstat (limited to 'users/grfn/xanthous/src/Xanthous/Generators/Level.hs')
-rw-r--r--users/grfn/xanthous/src/Xanthous/Generators/Level.hs10
1 files changed, 7 insertions, 3 deletions
diff --git a/users/grfn/xanthous/src/Xanthous/Generators/Level.hs b/users/grfn/xanthous/src/Xanthous/Generators/Level.hs
index 81f21f55ff00..ac97159f422c 100644
--- a/users/grfn/xanthous/src/Xanthous/Generators/Level.hs
+++ b/users/grfn/xanthous/src/Xanthous/Generators/Level.hs
@@ -85,7 +85,7 @@ parseGeneratorInput = Opt.subparser
     generatorCommand sgen name desc parseParams =
       Opt.command name
         (Opt.info
-          (GeneratorInput <$> pure sgen <*> parseParams)
+          (GeneratorInput sgen <$> parseParams)
           (Opt.progDesc desc)
         )
 
@@ -132,8 +132,9 @@ generateLevel
   => SGenerator gen
   -> Params gen
   -> Dimensions
+  -> Word -- ^ Level number, starting at 0
   -> m Level
-generateLevel gen ps dims = do
+generateLevel gen ps dims num = do
   rand <- mkStdGen <$> getRandom
   let cells = generate gen ps dims rand
       _levelWalls = cellsToWalls cells
@@ -146,7 +147,10 @@ generateLevel gen ps dims = do
   let upStaircase = _EntityMap # [(_levelCharacterPosition, UpStaircase)]
   downStaircase <- placeDownStaircase cells
   let _levelStaircases = upStaircase <> downStaircase
-  _levelTutorialMessage <- tutorialMessage cells _levelCharacterPosition
+  _levelTutorialMessage <-
+    if num == 0
+    then tutorialMessage cells _levelCharacterPosition
+    else pure mempty
   pure Level {..}
 
 levelToEntityMap :: Level -> EntityMap SomeEntity