Allure 0.4.6 → 0.4.6.5
raw patch · 15 files changed
+219/−187 lines, 15 filesdep +miniutterdep +textdep ~LambdaHack
Dependencies added: miniutter, text
Dependency ranges changed: LambdaHack
Files
- Allure.cabal +54/−45
- PLAYING.md +2/−2
- config.bot +0/−14
- config.default +0/−106
- config.rules.bot +14/−0
- config.rules.default +33/−0
- config.ui.default +85/−0
- src/Content/ActorKind.hs +1/−0
- src/Content/CaveKind.hs +1/−0
- src/Content/FactionKind.hs +2/−1
- src/Content/ItemKind.hs +10/−9
- src/Content/PlaceKind.hs +1/−0
- src/Content/RuleKind.hs +14/−10
- src/Content/StrategyKind.hs +1/−0
- src/Content/TileKind.hs +1/−0
Allure.cabal view
@@ -1,68 +1,77 @@-cabal-version: >= 1.10 name: Allure-version: 0.4.6-license: OtherLicense-license-file: LICENSE-tested-with: GHC == 7.2.2, GHC == 7.4.1, GHC == 7.6.1-data-files: LICENSE, CREDITS, PLAYING.md, README.md,- config.default, config.bot, scores-author: Andres Loeh, Mikolaj Konarski and others-maintainer: Mikolaj Konarski <mikolaj.konarski@funktory.com>+version: 0.4.6.5+synopsis: Near-future roguelike game in very early and active development description: This is an alpha release of Allure of the Stars, a near-future Sci-Fi roguelike and tactical squad game. The game is barely fun at this stage and not yet really Sci-Fi. See the wiki for design notes and contribute. .- New in this release are the Main Menu and improved squad combat.+ New since 0.4.4 are the Main Menu and improved squad combat.+ If you use GHC 7.6.1 and gtk2hs compiles for you,+ please install the LambdaHack library manually,+ with 'cabal install LambdaHack -fgtk --reinstall'.+ . Long term goals are high replayability and auto-balancing through procedural content generation and persistent content modification based on player behaviour. . The game is written using the LambdaHack roguelike game engine available at <http://hackage.haskell.org/package/LambdaHack>.-synopsis: Near-future roguelike game in very early and active development homepage: http://github.com/Mikolaj/Allure bug-reports: http://github.com/Mikolaj/Allure/issues+license: OtherLicense+license-file: LICENSE+tested-with: GHC == 7.2.2, GHC == 7.4.1, GHC == 7.6.1+data-files: LICENSE, CREDITS, PLAYING.md, README.md,+ config.rules.default, config.ui.default, config.rules.bot,+ scores+author: Andres Loeh, Mikolaj Konarski and others+maintainer: Mikolaj Konarski <mikolaj.konarski@funktory.com> category: Game build-type: Simple+cabal-version: >= 1.10 source-repository head- type: git- location: git://github.com/Mikolaj/Allure.git+ type: git+ location: git://github.com/Mikolaj/Allure.git executable Allure- hs-source-dirs: src- main-is: Main.hs- other-modules: Content.ActorKind,- Content.CaveKind,- Content.FactionKind,- Content.ItemKind,- Content.PlaceKind,- Content.RuleKind,- Content.StrategyKind,- Content.TileKind,- Multiline,- Paths_Allure- build-depends: LambdaHack == 0.2.6,- template-haskell >= 2.6 && < 3,+ hs-source-dirs: src+ main-is: Main.hs+ other-modules: Content.ActorKind,+ Content.CaveKind,+ Content.FactionKind,+ Content.ItemKind,+ Content.PlaceKind,+ Content.RuleKind,+ Content.StrategyKind,+ Content.TileKind,+ Multiline,+ Paths_Allure+ build-depends: LambdaHack >= 0.2.6.5 && < 0.2.7,+ template-haskell >= 2.6 && < 3, - ConfigFile >= 1.1.1 && < 2,- array >= 0.3.0.3 && < 1,- base >= 4 && < 5,- binary >= 0.5.0.2 && < 1,- bytestring >= 0.9.2 && < 1,- containers >= 0.4.1 && < 1,- directory >= 1.1.0.1 && < 2,- filepath >= 1.2.0.1 && < 2,- mtl >= 2.0.1 && < 3,- old-time >= 1.0.0.7 && < 2,- random >= 1.0.1 && < 2,- zlib >= 0.5.3.1 && < 1- default-language: Haskell2010+ ConfigFile >= 1.1.1 && < 2,+ array >= 0.3.0.3 && < 1,+ base >= 4 && < 5,+ binary >= 0.5.0.2 && < 1,+ bytestring >= 0.9.2 && < 1,+ containers >= 0.4.1 && < 1,+ directory >= 1.1.0.1 && < 2,+ filepath >= 1.2.0.1 && < 2,+ miniutter >= 0.4.0 && < 2,+ mtl >= 2.0.1 && < 3,+ old-time >= 1.0.0.7 && < 2,+ random >= 1.0.1 && < 2,+ text >= 0.11.2.3 && < 1,+ zlib >= 0.5.3.1 && < 1++ default-language: Haskell2010 default-extensions: MonoLocalBinds, BangPatterns, RecordWildCards, NamedFieldPuns- other-extensions: CPP, QuasiQuotes- ghc-options: -Wall -fwarn-orphans -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction -fwarn-unrecognised-pragmas- ghc-options: -fno-warn-auto-orphans -fno-warn-implicit-prelude- ghc-options: -fno-ignore-asserts -funbox-strict-fields- ghc-options: -threaded -with-rtsopts=-C0.005+ other-extensions: CPP, QuasiQuotes, OverloadedStrings, ExtendedDefaultRules+ ghc-options: -Wall -fwarn-orphans -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction -fwarn-unrecognised-pragmas+ ghc-options: -fno-warn-auto-orphans -fno-warn-implicit-prelude+ ghc-options: -fno-ignore-asserts -funbox-strict-fields+ ghc-options: -threaded -with-rtsopts=-C0.005+-- ghc-options: -with-rtsopts=-N -- eats all cores
PLAYING.md view
@@ -22,7 +22,7 @@ The heroes are marked on the map with symbol '@' and with '1', '2', ..., '9'. Their goal is to explore an old, gigantic, once luxurious space liner,-battle the horrors within, gather as much gold coins and precious gems+battle the horrors within, gather as much gold and precious gems as possible, and escape to tell the tale. The spaceship consists of many levels covered with varying terrain of the following basic kinds: @@ -154,7 +154,7 @@ -------------------- You win the game if you escape the spaceship alive. Your score is-the sum of all gold coins you've plundered plus 100 gold for each gem.+the sum of all gold you've plundered plus 100 gold grains for each gem. Only the loot in possession of the party members on the current level counts (the rest of the party is considered MIA).
− config.bot
@@ -1,14 +0,0 @@-; Copyright (c) 2008--2011 Andres Loeh, 2010--2012 Mikolaj Konarski-; This file is a part of the computer game Allure of the Stars-; and is released under the terms of the GNU Affero General Public License.-; For license and copyright information, see the file LICENSE.-;-; Overriding config file options to help the bot.-; DumbBot 42 20000000 | Allure > /tmp/log--[dungeon]-depth: 100--[heroes]-baseHP: 999999-extraHeroes: 1
− config.default
@@ -1,106 +0,0 @@-; ; Copyright (c) 2008--2011 Andres Loeh, 2010--2012 Mikolaj Konarski-; ; This file is a part of the computer game Allure of the Stars-; ; and is released under the terms of the GNU Affero General Public License.-; ; For license and copyright information, see the file LICENSE.-; ;-; ; This is a commented out copy of the default config file-; ; that is embedded in the binary.-; ; The game looks for the user config file that overrides some options-; ; in the ~/.LambdaHack/config file (or similar, depending on the OS).-; ; Warning: options are case-sensitive and only ';' comments are permitted.--; [commands]-; ; All commands are defined here, except movement, hero selection and debug.-; ;-; ; Interaction with the dungeon.-; c: TriggerDir { verb = "close", object = "door", feature = Closable }-; less: TriggerTile { verb = "ascend", object = "level", feature = Cause Ascend }-; greater: TriggerTile { verb = "descend", object = "level", feature = Cause Descend }-; bracketleft: TgtAscend 1-; bracketright: TgtAscend (-1)-; braceleft: TgtAscend 10-; braceright: TgtAscend (-10)-; slash: TgtFloor-; asterisk: TgtEnemy-; plus: EpsIncr True-; minus: EpsIncr False-; Tab: HeroCycle-; ISO_Left_Tab: HeroBack-; ;-; ; Items.-; g: Pickup-; d: Drop-; i: Inventory-; a: Apply { verb = "apply", object = "consumable", syms = "!?,_~" }-; p: Project { verb = "project", object = "missile", syms = "-}{" }-; q: Apply { verb = "quaff", object = "drink", syms = "!" }-; r: Apply { verb = "read", object = "tablet", syms = "?" }-; z: Project { verb = "zap", object = "mechanism", syms = "-" }-; t: Project { verb = "throw", object = "projectile", syms = "}{" }-; ;-; ; Saving, exiting and restarting the game.-; X: GameExit-; R: GameRestart-; S: GameSave-; ;-; ; Information for the player.-; P: History-; question: Help-; D: CfgDump-; ;-; ; General.-; KP_Begin: Wait-; Escape: Cancel-; Return: Accept-; space: Clear--; [dungeon]-; ; Fixed caves for the first levels, then randomly picked caves.-; LambdaCave_1: caveRogue-; LambdaCave_12: caveNoise-; depth: 12--; [engine]-; fovMode: digital-; ;fovMode: permissive-; ;fovMode: shadow-; fovRadius: 12-; ;startingRandomGenerator: 42-; ;dungeonRandomGenerator: 42--; [files]-; ; Paths to various game files; relative to the save file directory.-; scoresFile: scores-; saveFile: save-; diaryFile : diary--; [heroes]-; HeroName_0: you-; HeroName_1: Haskell Alvin-; HeroName_2: Alonzo Barkley-; HeroName_3: Ernst Abraham-; HeroName_4: Samuel Saunders-; HeroName_5: Roger Robin-; baseHP: 50-; extraHeroes: 2-; firstDeathEnds: False-; faction: hero--; [macros]-; ; This sections can be empty, but has to be there.-; ; TODO: the following does not work yet:-; ;; throw a dart at the closest monster-; ;t: asterisk Return t Return-; ; TODO: in gtk it could be implemented via unGetChan,-; ; unless we prefer an explicit command queue, with flushing, etc.-; ;-; ; Handy with Vi keys:-; comma: g-; period: KP_Begin--; [monsters]-; smellTimeout: 100--; [ui]-; font: Terminus,Monospace normal normal normal normal 12-; historyMax: 5000
+ config.rules.bot view
@@ -0,0 +1,14 @@+; Copyright (c) 2008--2011 Andres Loeh, 2010--2012 Mikolaj Konarski+; This file is a part of the computer game Allure of the Stars+; and is released under the terms of the GNU Affero General Public License.+; For license and copyright information, see the file LICENSE.+;+; Overriding config file options to help the bot.+; DumbBot 42 20000000 | Allure > /tmp/log++[dungeon]+depth: 100++[heroes]+baseHP: 999999+extraHeroes: 1
+ config.rules.default view
@@ -0,0 +1,33 @@+; ; Copyright (c) 2008--2011 Andres Loeh, 2010--2012 Mikolaj Konarski+; ; This file is a part of the computer game Allure of the Stars+; ; and is released under the terms of the GNU Affero General Public License.+; ; For license and copyright information, see the file LICENSE.+; ;+; ; This is a commented out copy of the default game rules config file+; ; that is embedded in the binary.+; ; A user config file can overrides these options. The game looks for it at+; ; ~/.LambdaHack/config.rules.ini (or a similar path, depending on the OS).+; ; Warning: options are case-sensitive and only ';' for comments is permitted.++; [dungeon]+; depth: 12++; [caves]+; ; Fixed caves for the first levels, then randomly picked caves.+; LambdaCave_1: caveRogue+; LambdaCave_12: caveNoise++; [engine]+; fovMode: Digital 12+; ;fovMode: Permissive+; ;fovMode: Shadow+; ;startingRandomGenerator: 42+; ;dungeonRandomGenerator: 42+; smellTimeout: 100++; [heroes]+; baseHP: 50+; extraHeroes: 2+; firstDeathEnds: False+; ; faction "playable" means a random choice+; faction: hero
+ config.ui.default view
@@ -0,0 +1,85 @@+; ; Copyright (c) 2008--2011 Andres Loeh, 2010--2012 Mikolaj Konarski+; ; This file is a part of the computer game Allure of the Stars+; ; and is released under the terms of the GNU Affero General Public License.+; ; For license and copyright information, see the file LICENSE.+; ;+; ; This is a commented out copy of the default UI settings config file+; ; that is embedded in the binary.+; ; A user config file can overrides these options. The game looks for it at+; ; ~/.LambdaHack/config.ui.ini (or a similar path, depending on the OS).+; ; Warning: options are case-sensitive and only ';' for comments is permitted.++; [commands]+; ; All commands are defined here, except movement, hero selection and debug.+; ;+; ; Interaction with the dungeon.+; c: TriggerDir { verb = "close", object = "door", feature = Closable }+; less: TriggerTile { verb = "ascend", object = "level", feature = Cause Ascend }+; greater: TriggerTile { verb = "descend", object = "level", feature = Cause Descend }+; bracketleft: TgtAscend 1+; bracketright: TgtAscend (-1)+; braceleft: TgtAscend 10+; braceright: TgtAscend (-10)+; slash: TgtFloor+; asterisk: TgtEnemy+; plus: EpsIncr True+; minus: EpsIncr False+; Tab: HeroCycle+; ISO_Left_Tab: HeroBack+; ;+; ; Items.+; g: Pickup+; d: Drop+; i: Inventory+; a: Apply { verb = "apply", object = "consumable", syms = "!?,_~" }+; p: Project { verb = "project", object = "missile", syms = "-}{" }+; q: Apply { verb = "quaff", object = "drink", syms = "!" }+; r: Apply { verb = "read", object = "tablet", syms = "?" }+; z: Project { verb = "zap", object = "mechanism", syms = "-" }+; t: Project { verb = "throw", object = "projectile", syms = "}{" }+; ;+; ; Saving, exiting and restarting the game.+; X: GameExit+; R: GameRestart+; S: GameSave+; ;+; ; Information for the player.+; P: History+; question: Help+; D: CfgDump+; ;+; ; General.+; KP_Begin: Wait+; Escape: Cancel+; Return: Accept+; space: Clear++; [files]+; ; Names of various game files. They reside in ~/.LambdaHack or similar.+; scoresFile: scores+; saveFile: save+; diaryFile : diary++; [heroNames]+; HeroName_0: you+; HeroName_1: Haskell Alvin+; HeroName_2: Alonzo Barkley+; HeroName_3: Ernst Abraham+; HeroName_4: Samuel Saunders+; HeroName_5: Roger Robin++; [macros]+; ; This sections can be empty, but has to be there.+; ; TODO: the following does not work yet:+; ;; throw a dart at the closest monster+; ;t: asterisk Return t Return+; ; TODO: in gtk it could be implemented via unGetChan,+; ; unless we prefer an explicit command queue, with flushing, etc.+; ;+; ; Handy with Vi keys:+; comma: g+; period: KP_Begin++; [ui]+; font: Terminus,Monospace normal normal normal normal 12+; historyMax: 5000
src/Content/ActorKind.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE OverloadedStrings #-} -- Copyright (c) 2008--2011 Andres Loeh, 2010--2012 Mikolaj Konarski -- This file is a part of the computer game Allure of the Stars -- and is released under the terms of the GNU Affero General Public License.
src/Content/CaveKind.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE OverloadedStrings #-} -- Copyright (c) 2008--2011 Andres Loeh, 2010--2012 Mikolaj Konarski -- This file is a part of the computer game Allure of the Stars -- and is released under the terms of the GNU Affero General Public License.
src/Content/FactionKind.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE OverloadedStrings #-} -- Copyright (c) 2008--2011 Andres Loeh, 2010--2012 Mikolaj Konarski -- This file is a part of the computer game Allure of the Stars -- and is released under the terms of the GNU Affero General Public License.@@ -34,7 +35,7 @@ alien = FactionKind { fsymbol = 'a' , fname = "alien"- , ffreq = [("alien", 1), ("playable", 50), ("spawn", 1)]+ , ffreq = [("alien", 1), ("playable", 50), ("spawn", 20)] , fAiSelected = "fullAbility" , fAiIdle = "fullAbility" , fenemy = ["hero"]
src/Content/ItemKind.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE OverloadedStrings #-} -- Copyright (c) 2008--2011 Andres Loeh, 2010--2012 Mikolaj Konarski -- This file is a part of the computer game Allure of the Stars -- and is released under the terms of the GNU Affero General Public License.@@ -22,9 +23,9 @@ , getFreq = ifreq , validate = ivalidate , content =- [necklace, dart, gem1, gem2, gem3, gold, javelin, kitchenKnife, potion1, potion2, potion3, ring, scroll1, scroll2, scroll3, sword, wand, fist, foot, tentacle, weight]+ [necklace, dart, gem1, gem2, gem3, currency, javelin, kitchenKnife, potion1, potion2, potion3, ring, scroll1, scroll2, scroll3, sword, wand, fist, foot, tentacle, weight] }-necklace, dart, gem1, gem2, gem3, gold, javelin, kitchenKnife, potion1, potion2, potion3, ring, scroll1, scroll2, scroll3, sword, wand, fist, foot, tentacle, weight :: ItemKind+necklace, dart, gem1, gem2, gem3, currency, javelin, kitchenKnife, potion1, potion2, potion3, ring, scroll1, scroll2, scroll3, sword, wand, fist, foot, tentacle, weight :: ItemKind gem, potion, scroll :: ItemKind -- generic templates @@ -39,7 +40,7 @@ _ magical staff, scanner = ring " necklace-$ gold, gem+$ currency, gem ~ light, tool / polearm | edged weapon@@ -101,17 +102,17 @@ gem3 = gem { icount = (RollDice 0 0, RollDice 1 3) }-gold = ItemKind+currency = ItemKind { isymbol = '$'- , iname = "gold coin"- , ifreq = [("dng", 80)]+ , iname = "gold grain"+ , ifreq = [("dng", 80), ("currency", 1)] , iflavour = zipPlain [BrYellow] , ieffect = NoEffect , icount = (RollDice 0 0, RollDice 10 10) , ipower = intToDeep 0- , iverbApply = "grind"- , iverbProject = "toss"- , iweight = 31+ , iverbApply = "smear"+ , iverbProject = "blow away"+ , iweight = 1 , itoThrow = 0 } javelin = ItemKind
src/Content/PlaceKind.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE OverloadedStrings #-} -- Copyright (c) 2008--2011 Andres Loeh, 2010--2012 Mikolaj Konarski -- This file is a part of the computer game Allure of the Stars -- and is released under the terms of the GNU Affero General Public License.
src/Content/RuleKind.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE CPP, QuasiQuotes #-} -- Copyright (c) 2008--2011 Andres Loeh, 2010--2012 Mikolaj Konarski -- This file is a part of the computer game Allure of the Stars@@ -31,9 +32,9 @@ { rsymbol = 's' , rname = "standard Allure of the Stars ruleset" , rfreq = [("standard", 100)]- -- Check whether one location is accessible from another.- -- Precondition: the two locations are next to each other.- -- TODO: in the future check flying for chasms, swimming for water, etc.+ -- Check whether one location is accessible from another.+ -- Precondition: the two locations are next to each other.+ -- TODO: in the future check flying for chasms, swimming for water, etc. , raccessible = \ _lxsize _sloc _src _tloc tgt -> F.Walkable `elem` tfeature tgt , rtitle = "Allure of the Stars"@@ -41,15 +42,18 @@ , rpathsVersion = Self.version , ritemMelee = "/|\\" , ritemProject = "!?,-~}{"- -- The string containing the default configuration- -- included from file config.default.- -- Warning: cabal does not detect that the default config is changed,- -- so touching this file is needed to reinclude config and recompile.+ -- The strings containing the default configuration files,+ -- included from files config.game.default and config.ui.default.+ -- Warning: cabal does not detect that the config files are changed,+ -- so touching them is needed to reinclude configs and recompile. -- Note: consider code.haskell.org/~dons/code/compiled-constants -- as soon as the config file grows very big.- , rconfigDefault = [multiline|-#include "../../config.default"+ , rcfgRulesDefault = [multiline|+#include "../../config.rules.default" |]+ , rcfgUIDefault = [multiline|+#include "../../config.ui.default"+|] -- ASCII art for the Main Menu. Only pure 7-bit ASCII characters are -- allowed. The picture should be exactly 24 rows by 80 columns, -- plus an extra frame of any charecters that is ignored for all purposes.@@ -65,7 +69,7 @@ -- The Main Menu is displayed dull white on black. -- TODO: Highlighted keybinding is in inverse video or bright white on grey -- background. The spaces that pad keybindings are not highlighted.- , rmainMenuArt = [multiline|+ , rmainMenuArt = [multiline| ---------------------------------------------------------------------------------- | | | |
src/Content/StrategyKind.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE OverloadedStrings #-} -- Copyright (c) 2008--2011 Andres Loeh, 2010--2012 Mikolaj Konarski -- This file is a part of the computer game Allure of the Stars -- and is released under the terms of the GNU Affero General Public License.
src/Content/TileKind.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE OverloadedStrings #-} -- Copyright (c) 2008--2011 Andres Loeh, 2010--2012 Mikolaj Konarski -- This file is a part of the computer game Allure of the Stars -- and is released under the terms of the GNU Affero General Public License.