Allure 0.9.3.0 → 0.9.3.1
raw patch · 8 files changed
+76/−67 lines, 8 filesdep ~LambdaHackdep ~base
Dependency ranges changed: LambdaHack, base
Files
- Allure.cabal +24/−23
- GameDefinition/Content/ItemKindActor.hs +1/−1
- GameDefinition/Content/ItemKindOrgan.hs +5/−6
- GameDefinition/InGameHelp.txt +17/−17
- GameDefinition/MoveKeys.txt +3/−3
- GameDefinition/PLAYING.md +11/−10
- GameDefinition/game-src/Client/UI/Content/Input.hs +13/−5
- Makefile +2/−2
Allure.cabal view
@@ -6,7 +6,7 @@ -- PVP summary:+-+------- breaking API changes -- | | +----- minor or non-breaking API additions -- | | | +--- code changes with no API change-version: 0.9.3.0+version: 0.9.3.1 synopsis: Near-future Sci-Fi roguelike and tactical squad combat game description: Allure of the Stars is a near-future Sci-Fi roguelike and tactical squad combat game. Binaries and the game manual@@ -29,11 +29,15 @@ are high replayability and auto-balancing through procedural content generation and persistent content modification based on player behaviour. Contributions are welcome.+ .+ This is a workaround .cabal file, flattened to eliminated+ internal libraries until generating haddocks for them+ is fixed. The original .cabal file is stored in the github repo. homepage: http://allureofthestars.com bug-reports: http://github.com/AllureOfTheStars/Allure/issues license: AGPL-3.0-or-later license-file: COPYLEFT-tested-with: GHC==8.2.2, GHC==8.4.4, GHC==8.6.4+tested-with: GHC==8.2.2, GHC==8.4.4, GHC==8.6.5 data-files: GameDefinition/config.ui.default, GameDefinition/fonts/16x16xw.woff, GameDefinition/fonts/16x16xw.bdf,@@ -62,6 +66,11 @@ type: git location: git://github.com/AllureOfTheStars/Allure.git +flag supportNodeJS+ description: compile so that the JS blob works in terminal with NodeJS+ default: True+ manual: True+ common options default-language: Haskell2010 default-extensions: MonoLocalBinds, ScopedTypeVariables, OverloadedStrings@@ -98,9 +107,12 @@ ghcjs-options: -DGHCJS_BUSY_YIELD=50 ghcjs-options: -dedupe -library this-game-content+ if !flag(supportNodeJS)+ ghcjs-options: -DGHCJS_BROWSER++library import: options- hs-source-dirs: GameDefinition+ hs-source-dirs: GameDefinition, GameDefinition/game-src exposed-modules: Content.CaveKind Content.ItemKind Content.ItemKindEmbed@@ -113,27 +125,16 @@ Content.PlaceKind Content.RuleKind Content.TileKind- other-modules: Paths_Allure- autogen-modules: Paths_Allure- build-depends: ,LambdaHack--- TODO: instead: ,definition- ,base >= 4.10 && < 99- ,filepath- ,template-haskell >= 2.6- ,text--library this-game-src- import: options- hs-source-dirs: GameDefinition/game-src- exposed-modules: TieKnot- other-modules: Client.UI.Content.Input+ TieKnot+ Client.UI.Content.Input Client.UI.Content.Screen Implementation.MonadClientImplementation Implementation.MonadServerImplementation- build-depends: ,LambdaHack >= 0.9.3.0 && < 0.9.4.0- ,this-game-content+ other-modules: Paths_Allure+ autogen-modules: Paths_Allure+ build-depends: ,LambdaHack >= 0.9.3.1 && < 0.9.4.0 ,async- ,base+ ,base >= 4.10 && < 99 ,enummapset ,filepath ,ghc-compact@@ -148,7 +149,7 @@ import: options, exe-options main-is: GameDefinition/Main.hs build-depends: ,LambdaHack- ,this-game-src+ ,Allure ,async ,base ,filepath@@ -159,7 +160,7 @@ type: exitcode-stdio-1.0 main-is: test/test.hs build-depends: ,LambdaHack- ,this-game-src+ ,Allure ,async ,base ,filepath
GameDefinition/Content/ItemKindActor.hs view
@@ -646,7 +646,7 @@ , SetFlag Durable ] , ieffects = [] , idesc = "Must have been bought by previous ship owners to contain the wild animal infestation."- , ikit = [("razor", COrgan)]+ , ikit = [("razor", COrgan), ("razor", COrgan)] } electricFence = ItemKind { isymbol = 'f'
GameDefinition/Content/ItemKindOrgan.hs view
@@ -526,15 +526,14 @@ razor = fist { iname = "razor edge" , ifreq = [("razor", 100)]- , icount = 2 + 1 `d` 5+ , icount = 1 + 1 `d` 2 , iverbHit = "slice" , idamage = 2 `d` 1- , iaspects = [ Timeout (3 + 1 `d` 2)- , SetFlag Meleeable ] -- not Durable+ , iaspects = [SetFlag Meleeable] -- not Durable , ieffects = [ toOrganBad "weakened" (2 + 1 `dL` 3)- , VerbNoLonger "lose its sharpness" ]- -- if razor is an organ, the actors is "it";- -- we interpret the charges as sharpness of a single razor+ , VerbNoLonger "lose all sharpness" ]+ -- we interpret charges as sharpness of the actor or his razor'+ -- no pronoun in the message to avoid "you lose its sharpness" , idesc = "" } liveWire = fist
GameDefinition/InGameHelp.txt view
@@ -9,8 +9,8 @@ \|/ (top diagram) or with its compact laptop replacement (middle) 4-5-6 or the Vi editor keys (bottom) selectable in config.ui.ini. /|\ Run until disturbed with Shift or Control. Go-to a position- 1 2 3 with LMB (left mouse button). Run collectively with RMB- (right mouse button).+ 1 2 3 with LMB (left mouse button). Run collectively with S-LMB+ (press the button while holding Shift). 7 8 9 In aiming mode, the same keys (and mouse) move the x-hair (aiming \|/ crosshair). Press `KP_5` (keypad `5`) to wait, bracing for impact,@@ -20,7 +20,7 @@ taunting and waking up enemies or yourself. y k u You displace enemies by running into them with Shift/Control- \|/ or RMB. Search, open, descend and attack by bumping into+ \|/ or S-LMB. Search, open, descend and attack by bumping into h-.-l walls, doors, stairs and enemies. The best item to attack with /|\ is automatically chosen from among melee weapons in your b j n personal equipment and your body parts.@@ -36,9 +36,9 @@ keys command E manage equipment of the leader g or , grab item(s)- ESC finish aiming/open main menu- RET or INS accept target/open dashboard- SPACE clear messages/display history+ ESC open main menu/finish aiming+ RET or INS open dashboard/accept target+ SPACE clear messages and show history S-TAB cycle among all party members KP_* or ! cycle x-hair among enemies KP_/ or / cycle x-hair among items@@ -50,7 +50,6 @@ For more general gameplay information see https://github.com/AllureOfTheStars/Allure/blob/master/GameDefinition/PLAYING.md - Item menu commands. keys command@@ -67,8 +66,8 @@ Remaining item-related commands. keys command- P or I manage inventory pack of the leader E manage equipment of the leader+ P or I manage inventory pack of the leader S manage the shared party stash G manage items on the ground A manage all owned items@@ -106,8 +105,8 @@ Aiming commands. keys command- ESC finish aiming/open main menu- RET or INS accept target/open dashboard+ ESC open main menu/finish aiming+ RET or INS open dashboard/accept target KP_* or ! cycle x-hair among enemies KP_/ or / cycle x-hair among items + swerve the aiming line@@ -134,18 +133,19 @@ in exploration mode and (if different) in aiming mode. keys command- LMB set x-hair to enemy/go to pointer for 25 steps- RMB or C-LMB fling at enemy/run to pointer collectively for 25 steps+ LMB go to pointer for 25 steps/fling at enemy+ S-LMB run to pointer collectively for 25 steps/fling at enemy+ RMB or C-LMB start aiming at enemy under pointer C-RMB open or close or alter at pointer MMB snap x-hair to floor under pointer WHEEL-UP swerve the aiming line WHEEL-DN unswerve the aiming line exploration LMB (left mouse button) RMB (right mouse button)- message line clear messages/display history display help+ message line clear messages and show history display help leader on map grab item(s) drop item(s) party on map pick new leader on screen select party member on screen- the map area go to pointer for 25 steps run to pointer collectively+ the map area go to pointer for 25 steps set x-hair to enemy level number move aiming one level up move aiming one level down level caption open dashboard open main menu percent seen explore nearest unknown spot autoexplore 25 times@@ -154,17 +154,17 @@ Calm value yell/yawn yell/yawn HP gauge rest (wait 25 times) heed (lurk 0.1 turns 100 times) HP Value wait a turn, bracing for impact lurk 0.1 of a turn- leader info fling without aiming clear chosen item and x-hair+ leader info auto-fling and keep choice clear chosen item and x-hair aiming mode LMB (left mouse button) RMB (right mouse button)- the map area set x-hair to enemy fling at enemy under pointer+ the map area fling at enemy under pointer snap x-hair to enemy level caption accept target cancel aiming percent seen set x-hair to nearest upstairs set x-hair to nearest dnstairs Assorted commands. keys command- SPACE clear messages/display history+ SPACE clear messages and show history F12 open dashboard ? display help F1 display help immediately
GameDefinition/MoveKeys.txt view
@@ -2,8 +2,8 @@ \|/ (top diagram) or with its compact laptop replacement (middle) 4-5-6 or the Vi editor keys (bottom) selectable in config.ui.ini. /|\ Run until disturbed with Shift or Control. Go-to a position-1 2 3 with LMB (left mouse button). Run collectively with RMB- (right mouse button).+1 2 3 with LMB (left mouse button). Run collectively with S-LMB+ (press the button while holding Shift). 7 8 9 In aiming mode, the same keys (and mouse) move the x-hair (aiming \|/ crosshair). Press `KP_5` (keypad `5`) to wait, bracing for impact,@@ -13,7 +13,7 @@ taunting and waking up enemies or yourself. y k u You displace enemies by running into them with Shift/Control- \|/ or RMB. Search, open, descend and attack by bumping into+ \|/ or S-LMB. Search, open, descend and attack by bumping into h-.-l walls, doors, stairs and enemies. The best item to attack with /|\ is automatically chosen from among melee weapons in your b j n personal equipment and your body parts.
GameDefinition/PLAYING.md view
@@ -121,7 +121,7 @@ highlighted in yellow. Most commands involve only the leader, including movement with keyboard's keypad or `LMB` (left mouse button). If more heroes are selected (highlighted in blue), they run together-whenever `:` or `RMB` (right mouse button) over map area is pressed.+whenever `:` or `S-LMB` (while holding Shift) over map area is pressed. Next on the bottom-most status line is the leader's current and maximum Calm (morale, composure, focus, attentiveness), then his current@@ -186,7 +186,7 @@ Walk throughout a level with mouse or numeric keypad (left diagram below), or with its compact laptop replacement (middle) or the Vi editor keys (right) selectable in config.ui.ini. Run until disturbed with Shift or Control.-Go-to with LMB (left mouse button). Run collectively with RMB.+Go-to with LMB (left mouse button). Run collectively via S-LMB (holding Shift). 7 8 9 7 8 9 y k u \|/ \|/ \|/@@ -198,8 +198,8 @@ Press `KP_5` (`5` on keypad) to wait, bracing for impact, which reduces any damage taken and prevents displacement by foes. Press `C-KP_5` (the same key with Control) to lurk 0.1 of a turn, without bracing and `S-KP_5` (with Shift)-to yell/yawn, taunting and waking up enemies/yourself. You displace enemies-by running into them with Shift/Control or RMB. Search, open, descend and+or `%` to yell/yawn, taunting and waking up enemies/yourself. Displace enemies+by running into them with Shift/Control or S-LMB. Search, open, descend and attack by bumping into walls, doors, stairs and enemies. The best melee weapon is automatically chosen from your equipment and from among your body parts. @@ -214,9 +214,9 @@ keys command E manage equipment of the leader g or , grab item(s)- ESC finish aiming/open main menu- RET or INS accept target/open dashboard- SPACE clear messages/display history+ ESC open main menu/finish aiming+ RET or INS open dashboard/accept target+ SPACE clear messages and show history S-TAB cycle among all party members KP_* or ! cycle x-hair among enemies KP_/ or / cycle x-hair among items@@ -224,7 +224,7 @@ + swerve the aiming line Screen area and UI mode (exploration/aiming) determine-mouse click effects. We give an overview+mouse click effects. First, we give an overview of effects of each button over the game map area. The list includes not only left and right buttons, but also the optional middle mouse button (MMB) and the mouse wheel,@@ -232,8 +232,9 @@ (For mice without RMB, one can use Control key with LMB.) keys command- LMB set x-hair to enemy/go to pointer for 25 steps- RMB or C-LMB fling at enemy/run to pointer collectively for 25 steps+ LMB go to pointer for 25 steps/fling at enemy+ S-LMB run to pointer collectively for 25 steps/fling at enemy+ RMB or C-LMB start aiming at enemy under pointer C-RMB open or close or alter at pointer MMB snap x-hair to floor under pointer WHEEL-UP swerve the aiming line
GameDefinition/game-src/Client/UI/Content/Input.hs view
@@ -53,17 +53,17 @@ , ChooseItemMenu (MStore CEqp) )) , ("g", addCmdCategory CmdMinimal $ grabItems "grab item(s)") , ("Escape", ( [CmdMinimal, CmdAim]- , "finish aiming/open main menu"+ , "open main menu/finish aiming" , ByAimMode AimModeCmd { exploration = ExecuteIfClear MainMenu- , aiming = Cancel } ))+ , aiming = Cancel } )) , ("C-Escape", ([CmdNoHelp], "", MainMenu)) -- required by frontends; not shown , ("Return", ( [CmdMinimal, CmdAim]- , "accept target/open dashboard"+ , "open dashboard/accept target" , ByAimMode AimModeCmd { exploration = ExecuteIfClear Dashboard , aiming = Accept } )) , ("space", ( [CmdMinimal, CmdMeta]- , "clear messages/display history"+ , "clear messages and show history" , ExecuteIfClear LastHistory )) , ("Tab", ( [CmdMove] , "cycle among party members on the level"@@ -208,7 +208,12 @@ , ("safeD101", ([CmdInternal, CmdDashboard], "display history", AllHistory)) -- Mouse- , ("LeftButtonRelease", mouseLMB)+ , ( "LeftButtonRelease"+ , mouseLMB goToCmd+ "go to pointer for 25 steps/fling at enemy" )+ , ( "S-LeftButtonRelease"+ , mouseLMB runToAllCmd+ "run to pointer collectively for 25 steps/fling at enemy" ) , ("RightButtonRelease", mouseRMB) , ("C-LeftButtonRelease", replaceDesc "" mouseRMB) -- Mac convention , ( "C-RightButtonRelease"@@ -261,6 +266,9 @@ , ("safe11", ( [CmdInternal] , "lurk 0.1 of a turn" , Wait10 ))+ , ("safe12", ( [CmdInternal]+ , "snap x-hair to enemy"+ , XhairPointerEnemy )) ] ++ map defaultHeroSelect [0..6]
Makefile view
@@ -36,10 +36,10 @@ google-chrome --no-sandbox --js-flags="--logfile=%t.log --prof" ../allureofthestars.github.io/play/index.html minific:- npx google-closure-compiler dist-newstyle/build/x86_64-linux/ghcjs-8.6.0.1/Allure-0.9.3.0/x/Allure/build/Allure/Allure.jsexe/all.js --compilation_level=ADVANCED_OPTIMIZATIONS --isolation_mode=IIFE --assume_function_wrapper --externs=dist-newstyle/build/x86_64-linux/ghcjs-8.6.0.1/Allure-0.9.3.0/x/Allure/build/Allure/Allure.jsexe/all.js.externs --jscomp_off="*" > ../allureofthestars.github.io/play/allure.all.js+ npx google-closure-compiler dist-newstyle/build/x86_64-linux/ghcjs-8.6.0.1/Allure-0.9.3.1/x/Allure/build/Allure/Allure.jsexe/all.js --compilation_level=ADVANCED_OPTIMIZATIONS --isolation_mode=IIFE --assume_function_wrapper --externs=dist-newstyle/build/x86_64-linux/ghcjs-8.6.0.1/Allure-0.9.3.1/x/Allure/build/Allure/Allure.jsexe/all.js.externs --jscomp_off="*" > ../allureofthestars.github.io/play/allure.all.js minificForNode:- npx google-closure-compiler dist-newstyle/build/x86_64-linux/ghcjs-8.6.0.1/Allure-0.9.3.0/x/Allure/build/Allure/Allure.jsexe/all.js --compilation_level=ADVANCED_OPTIMIZATIONS --isolation_mode=IIFE --assume_function_wrapper --externs=dist-newstyle/build/x86_64-linux/ghcjs-8.6.0.1/LambdaHack-0.9.3.0/x/LambdaHack/build/LambdaHack/LambdaHack.jsexe/all.js.externs --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/assert.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/child_process.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/crypto.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/dns.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/events.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/globals.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/https.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/os.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/punycode.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/readline.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/stream.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/tls.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/url.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/vm.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/buffer.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/cluster.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/dgram.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/domain.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/fs.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/http.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/net.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/path.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/querystring.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/repl.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/string_decoder.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/tty.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/util.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/zlib.js --jscomp_off="*" > ../allureofthestars.github.io/play/allure.all.js+ npx google-closure-compiler dist-newstyle/build/x86_64-linux/ghcjs-8.6.0.1/Allure-0.9.3.1/x/Allure/build/Allure/Allure.jsexe/all.js --compilation_level=ADVANCED_OPTIMIZATIONS --isolation_mode=IIFE --assume_function_wrapper --externs=dist-newstyle/build/x86_64-linux/ghcjs-8.6.0.1/LambdaHack-0.9.3.1/x/LambdaHack/build/LambdaHack/LambdaHack.jsexe/all.js.externs --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/assert.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/child_process.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/crypto.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/dns.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/events.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/globals.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/https.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/os.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/punycode.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/readline.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/stream.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/tls.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/url.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/vm.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/buffer.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/cluster.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/dgram.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/domain.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/fs.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/http.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/net.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/path.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/querystring.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/repl.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/string_decoder.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/tty.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/util.js --externs=/home/mikolaj/r/closure-compiler/contrib/nodejs/zlib.js --jscomp_off="*" > ../allureofthestars.github.io/play/allure.all.js # Low delay to display animations swiftly and not bore the public too much. # Delay can't be lower than 2, because browsers sometimes treat delay 1