Metadata-Version: 1.1
Name: TextRPG
Version: 0.4.6
Summary: ['A simple TextRPG which uses the 1d6 RPG backend module for character management and interaction.  ']
Home-page: http://1w6.org/programme
Author: Arne Babenhauserheide
Author-email: arne_bab@web.de
License: GNU GPL-3 or later
Description: 
        Information: http://rpg-1d6.sf.net
        
        
        Usage:
        - ministory_helper.py
        Test the ministory (a testcase for the textrpg module)
        - textrpg.py
        Start the internal test story of the textrpg.
        
        Plans:
        - put all functions which need diag or ask or similar into a class,
        so diag and ask can be overridden by other modules (doesnt work right now).
        - Simple to use functions in easy to read scriptfiles in the style of the ministory file.
        - char.compete(other, skill_name) -> See who wins and by how much.
        - a basic implementation as minimal api reference for anyrpg plugins.
        - Show the text letter by letter, if that's possible.
        - Add the basic scripting function "python_interpreter(startup_data)", which shows an interactive python interpreter with the startup data already entered and interpreted.
        
        
        Ideas:
        - Lazy loading modules, to be able to print stuff at once without having to print before the imports.
        - Add getting experience for groups and show the chars together (only one experience header instead of one per char).
        
        
        Basic design principles for the scripting language:
        
        - The action is character centered wherever possible and useful.
        -> char.say(text) instead of dialog(char, text)
        
        - Anything which affects only one character or any interaction between only a few characters which is initiated by one of them gets called from the character via char.action().
        -> char.compete_skill(char2, skill_name) instead of competition_skill(char1, char2, skill_name)
        
        - Anything which affects the whole scene, or a whole group of not necessarily interacting characters gets called as basic function via action() or as class in its own right via class.action().
        -> save([char1, char2]) instead of char1.save() char2.save()
        
        - The seperate class way should only be chosen, if the class can feel like a character in its own right and needs seperate states which may or may not be persistent over subsequent runs.
        -> For example AI.choose_the_way(players_answer) or music.action()
        
        - Data should be stored inside the chars wherever possible. If a script gets started with the same character again, the situation should resemble the previous one as much as possible, except where dictated otherwise by the story_helper.
        -> char.save() instead of 'on quit' store_char_data(char) + 'on start' load_char_data(char)
        
        - Actions should be written as verb_noun or simply verb.
        -> char.say() and char.compete_skill() instead of char.text() and char.skill_compete()
        
        - In the story function, an action is a parameter of the story.
        -> story(switch_background_image="bg_image.png")
        
        The code for the TextRPG can be found at U{http://dreehg.org/ArneBab/textrpg}
        
        Shell escape codes:
        - print 'abc';print '[2A';sleep(0.3);print 'abcd'; -> die geschriebene Zeile ersetzen.
        
        
        
        Changes:
        
        textrpg 0.4.6 (2008-10-23)
        
        - Improved shell output by using sys.stdout.write() instead of print (thanks to AKF).
        - German tutorial: Character creation chapter added.
        - Added scrolling text (char by char).
        
        - FIX: textrpg example code now uses story() instead of the low level diag() function to output text.
        
        textrpg 0.4.4 (2008-09-28)
        
        - Added docstrings to the basic textrpg functions (they were missing after the last large refactoring).
        
        textrpg 0.4.2 (2008-07-21)
        
        - Added a simple_ story.py (originally written for a german python forum)
        - yaml is now distributed with TextRPG.
        - FIX: Textlines were getting joined if the user pressed enter multiple times
        in a short time.
        
        textrpg 0.4.1 (2008-07-09)
        
        - Added a branching story, walking through darker woods.
        
        textrpg 0.4 (2008-07-09)
        
        - FIX: Installed versions didn't find the modules in rpg_lib.
        - Added german tutorial chapter 1 and 2: "telling and testing" and "asking users and distributing stories".
        - Moved the basic modules into the rpg_lib directory.
        - Raise Exception in anyrpg, if some helper function gets used which isn't implemented in the specific module
        - Turned all basic functions into wrappers for class methods, so a change of them affects every other basic function.
        
        textrpg 0.3 (2008-07-07)
        
        - FIX: Answering Yes in battle screen didn't work.
        - Now experience is spent incrementally (one point per step).
        - Added char.check_skill(name_of_skill).
        
        textrpg 0.2:
        
        - FIX: Installation required Changelog.txt which isn't distributed.
        
        textrpg 0.1:
        
        - Added give_exp() function for scripts which calls the experience "screen".
        - Renamed ews package to textrpg_1d6 to avoid clashes with possibly installed ews module -> useful while also working on the backend.
        - Fertigkeiten now get increased by related attributes. Which attribute is related must be declared explicitely.
        - Added fighting styles: defensive and attack head.
        - Show base TP in battle stats.
        - A bit more 'you did great' output if at least 9 battles were won and the character lost afterwards.
        - The player is prompted to decide on a battle strategy/style each round.
        - The experience can also be increased by simply saying char.exp = new_value. If the new value is lower than the current value, nothing happens, but it gives the return value False.
        - exp is now a property, and so it wil always be up to date.
        - added ministory scripting example.
        - simpler scripting added.
        - Prepared localization of most internal strings.
        - Text output and documentation update.
        - Ask whenever the round is for the player which action to take and many smaller changes (i.e.: tabs to spaces).
        - Added interface for different fighting styles and a hit treshold (below which the character evades the attack or the attack hits the shield).
        - Nicer Experience 'screen'.
        - Nicer battle output and output, when a skill got raised.
        - upgrade now returns what it did: (obj before, obj after).
        - Begun writing the TextRPG.
        
        - FIX: Damage for own attacks except the first wasn't printed.
        - FIX: empty attributes to attribute dict problems -> turned attributes into a property.
        - FIX: persistent game states didn't work due to a version management bug (workdir had not been changed everywhere).
        - FIX: corrected dieing.
        
        ews 0.1
        
        - created ews as rpg backend package.
        
        
Keywords: ews,rpg,characters,1d6
Platform: any
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Programming Language :: Python
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: Environment :: Console
Classifier: Development Status :: 4 - Beta
Requires: pyglet
Requires: yaml
