ews

HomePage: http://1w6.org/programme

Author: Arne Babenhauserheide

Download: https://pypi.python.org/packages/source/e/ews/ews-0.1.tar.gz

        Info: http://1w6.org 

The ews ("Ein Wuerfel Sytem" is german for "One Die System") is a free rpg backend which covers char interaction and char management -> http://1w6.org. 

Chars have attributes, abilities, edges/flaws, equipment and battle values (directly derived from the attributes and abilities). 


Usage from command line: 

    - None yet. 


Examples: 

    - None yet. 


Use-Cases: 

 - Creating Chars
    
    Create and print a char from a tag-string
        >>> from char import Char
        >>> tag_string = "tag:1w6.org,2008:Human"
        >>> char_from_tag = Char(source=tag_string, template=False) 
    
    template=False says: Go with the name inside the stored file or (if None is avaible) in the tagstring. 
    
    Else it would create a new name for it. 
    
    TODO: Change the default to template=False (some checking of other libs necessary for that)
        >>> print char_from_tag
        Name: Human
        Sprache: Esperanto
    
    TODO: Create a char from a char dict. 
    
    TODO: Print location of character file. 
    
    
 - Combat
    
    Create two chars and let them fight one round. 
        >>> char1 = Char()
        >>> char2 = Char()
        >>> print char1.wounds, char2.wounds
        [0, 0] [0, 0]
        >>> char1.fight_round(char2)
        >>> result = (char1.get_battle_result_values(), char2.get_battle_result_values())  
        >>> # Gives TP and wounds for Char 1 and 2
    
    Let the two chars fight a battle with the one roll battle system. 
        >>> char1.fight_one_roll_battle(char2)
        >>> result = (char1.get_battle_result_values(), char2.get_battle_result_values()) 
        >>> # Dict for char1 and for char 2
    
    TODO: Fight a whole battle with the complex battle system. 
    
    
 - Attributes
    
    List all attributes. If the char has None, print a single space. 
        >>> char1.attributes
        ' '
    
    
 - Skills and checks
    
    List all skills. If the char has None, print a single space. 
        >>> char1.skills
        {'Nahkampf': {'Grundwert': 12, 'Striche': 3, 'Zahlenwert': 12}}
    
    Do a skill test (default target number is 9)
        >>> print "Do we manage to cook a nice meal?"
        Do we manage to cook a nice meal?
        >>> result = char1.check_skill("cook")
    
    Do a skill test against another target number. 
        >>> print "Do we manage to cook an exceptional meal?"
        Do we manage to cook an exceptional meal?
        >>> result = char1.check_skill("cook", MW=18)
    
    TODO: Check how good we manage something. 
    
    TODO: Check if we manage to make a roll and how good we manage it. 
    
    
 - Competition (skill vs. skill and similar)
    
    TODO: Let two chars compete for one round. 
    
    TODO: Let two chars do a full competition. 
    
    
 - Equipment
    
    Get the current equipment of the char. 
        >>> for i in char1.equipment: print char1.equipment[i] 
        {'Stoffkleidung': {'Name': 'Stoffkleidung', 'Schutz': 1}}
        {'Waffenlos': {'Name': 'Waffenlos', 'Schaden': 1}}
        >>> # TODO: Fix to make it nicer to use. 
    
    
    Get the current combat equipment of the char (armor and weapon). 
        >>> char1.weapon
        {'Name': 'Waffenlos', 'Schaden': 1}
        >>> char1.armor
        {'Name': 'Stoffkleidung', 'Schutz': 1}
    
    TODO: Change armor and weapon (and weapon skill). 
    
    TODO: Get the current clothes of the char. 
    
    TODO: Change the current clothes of the char. 
    
    
 - Improving Chars
    
    Improve a char by a 3 points at random (about the value to get for one gaming session in a hreo setting). 
        >>> char1.upgrade(3)
    
    Upgrade with a weighted list of attributes and skills which could be improved additionally to known skills and attributes. 
        >>> char1.upgrade(3, object=("weighted", [("attribute",  "sensitivity", 1), ("skill", "cooking", 2)]))
    
    Upgrade a specific skill or attribute. 
        >>> char1.upgrade(3, object=("skill", "talking senslessly"))
        
    # TODO: Add attibute explicitel