1D6 RPG后端模块提供字符管理和交互。
rpg-1d6的Python项目详细描述
ews(“ein wuerfel系统”是德语中的“一模系统”)是一个免费的rpg后端,它涵盖了char交互和char管理->;http://1w6.org。
魔法有属性,能力,边缘/缺陷,装备和战斗价值(直接从属性和能力中获得)。
命令行中的用法:
- None yet.
示例:
- None yet.
用例:
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: EsperantoTODO: Create a char from a char dict.
TODO: Print location of character file.
战斗
- Create two chars and let them fight one round.
>>> char1 = Char() >>> char2 = Char() >>> print char1.wounds, char2.wounds [0, 0] [0, 0] >>> battle_result = char1.fight_round(char2) >>> character_stats = (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 2TODO: Fight a whole battle with the complex battle system.
属性
- List all attributes. If the char has None, print a single space.
>>> char1.attributes ' '技能和检查
- 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.
竞争(技能与技能及类似)
TODO: Let two chars compete for one round.
TODO: Let two chars do a full competition.
设备
- Get the current equipment of the char.
>>> for i in char1.equipment: print char1.equipment[i] {'Stoffkleidung': {'Name': 'Simple garb', 'Schutz': 1}} {'Waffenlos': {'Name': 'Iron knuckles', 'Schaden': 1}} >>> # TODO: Fix to make it nicer to use.- Get the current combat equipment of the char (armor and weapon).
>>> char1.weapon {'Name': 'Iron knuckles', 'Schaden': 1} >>> char1.armor {'Name': 'Simple garb', '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.
改进字符
- Improve a char by a 3 points at random (about the value to get for one gaming session in a hreo setting).
>>> old_and_new_data = char1.upgrade(3)- Upgrade with a weighted list of attributes and skills which could be improved additionally to known skills and attributes.
>>> old_and_new_data = char1.upgrade(3, object=("weighted", [("attribute", "sensitivity", 1), ("skill", "cooking", 2)]))- Upgrade a specific skill or attribute.
>>> old_and_new_data = char1.upgrade(3, object=("skill", "talking senslessly"))# TODO: Add attibute explicitely.
保存字符
Save the changed (wounded but improved) Char as new template.
- Commented out, because this creates new files.
>>> # char1.name = char1.amov.tagname >>> # char1.save()Save the changed Char as a new char and get the new tag to call it again.
- Commented out, because this creates new files.
>>> # tagstring = char1.amov.tagstring_without_name + char1.name # The tag to call the char >>> # char1.save() >>> # char1_again = Char(source=tagstring, template=False)结束字符:)
- And in the end: Die
>>> char1.die()
- 计划:
- 更改char文件格式:空dict不应该再由“”表示,而应该由{}(空字典的真正yaml表示)表示。
源url(mercurial):u{http://rpg-1d6.sf.net/hg/1d6
pypi url:u{http://pypi.python.org/pypi/ews}
- 将模块重命名为rpg-1d6:http://pypi.python.org/pypi/rpg-1d6
EWS 0.1
- 已将EWS创建为RPG后端包。