annotate orpg/dieroller/rollers/earthdawn.py @ 248:1df5912db00c beta tip

Traipse Beta 'OpenRPG' {101205-00} Traipse is a distribution of OpenRPG that is designed to be easy to setup and go. Traipse also makes it easy for developers to work on code without fear of sacrifice. 'Ornery-Orc' continues the trend of 'Grumpy' and adds fixes to the code. 'Ornery-Orc's main goal is to offer more advanced features and enhance the productivity of the user. Update Summary (Closed) New Features: New to Map, can re-order Grid, Miniatures, and Whiteboard layer draw order New to Server GUI, can now clear log New Earthdawn Dieroller New IronClaw roller, sheet, and image New ShapeShifter PC Sheet Updates: Update to Warhammer PC Sheet. Rollers set as macros. Should work with little maintanence. Update to Browser Server window. Display rooms with ' " & cleaner Update to Server. Handles ' " & cleaner Update to Dieroller. Cleaner, more effecient expression system Update to Hidden Die plugin, allows for non standard dice rolls Update to location.py, allows for more portable references when starting Traipse Update to the Features node Fixes: Fix to InterParse that was causing an Infernal Loop with Namespace Internal Fix to XML data, removed old Minidom and switched to Element Tree Fix to Server that was causing eternal attempt to find a Server ID, in Register Rooms thread Fix to Server, removing wxPython dependencies where not needed Fix to metaservers.xml file not being created Fix to Single and Double quotes in Whiteboard text Fix to Background images not showing when using the Image Server Fix to Duplicate chat names appearing Fix to Server GUI's logging output Fix to FNB.COLORFUL_TABS bug Fix to Gametree for XSLT Sheets Fix to Gametree for locating gametree files Fix to Send to Chat from Gametree Fix to Gametree, renaming and remapping operates correctly Fix to aliaslib, prevents error caused when SafeHTML is sent None
author sirebral
date Sun, 05 Dec 2010 10:53:30 -0600
parents 6919a88b788c
children
rev   line source
241
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
1 ## A die roller as used by Earthdawn RPG
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
2 # Copyright (C) 2000-2010 The OpenRPG Project
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
3 #
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
4 # owner@madmathlabs.com
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
5 #
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
6 # This program is free software; you can redistribute it and/or modify
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
7 # it under the terms of the GNU General Public License as published by
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
8 # the Free Software Foundation; either version 2 of the License, or
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
9 # (at your option) any later version.
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
10 #
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
11 # This program is distributed in the hope that it will be useful,
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
14 # GNU General Public License for more details.
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
15 #
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
16 # You should have received a copy of the GNU General Public License
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
17 # along with this program; if not, write to the Free Software
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
18 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
19 # --
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
20 #
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
21 # File: earthdawn.py
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
22 # Author: Prof. Ebral, TaS (Traipse)
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
23 # Maintainer:
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
24 # Version:
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
25 # $Id: earthdawn.py,v Traipse 'Ornery-Orc' prof.ebral Exp $
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
26 #
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
27 # Description: Earthdawn Die Roller
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
28 # Comissioned by Jacob H.
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
29 #
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
30
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
31
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
32 from std import std
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
33 import random
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
34 from orpg.dieroller.base import *
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
35
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
36 class earthdawn(std):
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
37 name = "earthdawn"
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
38 regExpression = "[a-zA-Z]+([0-9]+/[0-9]+|[0-9]+)"
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
39
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
40 def __init__(self, source=[]):
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
41 std.__init__(self, source)
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
42 self.successLevels = self.buildLevels()
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
43
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
44 def non_stdDie(self, match):
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
45 s = match.group(0)
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
46 if s[:4] == 'step' or s[:1] == 's':
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
47 dice = s.lower().split('step')
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
48 rollType = 'Step'
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
49 if len(dice) == 1: dice = s.lower().split('s')
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
50 try: step, vs = dice[1].split('/')
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
51 except: step, vs = dice[1], 0
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
52 stepRoll = self.stepAlgorithm(step)
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
53 elif s[:5] == 'karma' or s[:1] == 'k':
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
54 dice = s.lower().split('karma')
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
55 rollType = 'Karma'
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
56 if len(dice) == 1: dice = s.lower().split('k')
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
57 step, vs = dice[1], 0
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
58 stepRoll = self.stepAlgorithm(step)
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
59 elif s[:4] == 'test' or s[:1] == 't':
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
60 dice = s.lower().split('test')
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
61 rollType = 'Test'
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
62 if len(dice) == 1: dice = s.lower().split('t')
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
63 try: step, vs = dice[1].split('/')
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
64 except: return
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
65 return self.successTest(step, vs)
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
66 return self.finalize(step, stepRoll, vs, rollType)
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
67
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
68 def rollDice(self, dice, facets):
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
69 rolls = []
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
70 for x in range(0, dice):
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
71 roll = self.roll(facets)
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
72 while roll >= facets:
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
73 rolls.append(roll)
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
74 roll = self.roll(facets)
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
75 rolls.append(roll)
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
76 return rolls
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
77
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
78 def roll(self, facets):
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
79 return int(random.uniform(1, facets+1))
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
80
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
81 def stepAlgorithm(self, stepRoll):
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
82 if stepRoll == 0: return 0
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
83 oneTothree = {'1': -3, '2': -2, '3': -1}
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
84 if oneTothree.has_key(stepRoll):
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
85 dieList = self.rollDice(1, 6)
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
86 dieList[0] += oneTothree[stepRoll]
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
87 return dieList
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
88 stepRoll = int(stepRoll)-3; self.dieList = []
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
89 for step in xrange(0, stepRoll): self.stepIncrease()
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
90 d6s = 0; d8s = 0; d10s = 0; d12s = 0
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
91 dieList = []
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
92 for die in self.dieList:
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
93 if die == 6: d6s += 1
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
94 if die == 8: d8s += 1
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
95 if die == 10: d10s += 1
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
96 if die == 12: d12s += 1
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
97 if d6s!= 0: d6s = self.rollDice(d6s, 6); dieList += d6s
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
98 if d8s!= 0: d8s = self.rollDice(d8s, 8); dieList += d8s
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
99 if d10s!= 0: d10s = self.rollDice(d10s, 10); dieList += d10s
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
100 if d12s!= 0: d12s = self.rollDice(d12s, 12); dieList += d12s
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
101 return dieList
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
102
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
103 def stepIncrease(self):
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
104 lowDie = 12
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
105 if len(self.dieList) == 0: self.dieList.append(6); return
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
106 for splitDie in self.dieList:
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
107 if splitDie < lowDie: lowDie = splitDie
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
108 if lowDie == 12: self.dieList[self.dieList.index(lowDie)] = 6; self.dieList.append(6); return
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
109 else: self.dieList[self.dieList.index(lowDie)] += 2; return
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
110
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
111 def successLevel(self, level, vs):
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
112 index = 0
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
113 successLevels = self.successLevels[int(vs)]
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
114 for success in successLevels:
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
115 if level > success: index = successLevels.index(success)+1
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
116 elif level == success: index = successLevels.index(success)
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
117 if index == 0: return 'Pathetic'
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
118 if index == 1: return 'Poor'
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
119 if index == 2: return 'Average'
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
120 if index == 3: return 'Good'
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
121 if index == 4: return 'Excellent'
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
122 if index >= 5: return 'Extraordinary'
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
123
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
124 def successTest(self, stepTotal, vs):
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
125 myStr = '<b>Success Test: </b> ' +stepTotal+ ' vs. ' +vs
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
126 successLevel = self.successLevel(int(stepTotal), int(vs))
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
127 myStr += '= ' +successLevel
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
128 return myStr
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
129
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
130 def finalize(self, step, stepRoll, vs, rollType):
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
131 myStr = '<b>' +rollType+' Roll: </b>' +step
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
132 if vs != 0: myStr += ' vs. ' +vs
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
133 myStr += ' => ' +str(stepRoll)+ ' (Total: '
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
134 stepTotal = 0
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
135 for step in stepRoll: stepTotal += step
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
136 myStr += str(stepTotal)
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
137 if vs != 0:
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
138 myStr += ' vs. ' +str(vs)
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
139 successLevel = self.successLevel(stepTotal, vs)
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
140 myStr += ') ' +successLevel
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
141 else: myStr += ')'
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
142 return myStr
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
143
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
144 def buildLevels(self):
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
145 successLevels = {
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
146 2: [0, 1, 4, 6, 8, 9], 3: [0, 2, 5, 7, 9, 10], 4: [0, 3, 6, 9, 11, 12],
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
147 5: [1, 4, 7, 10, 13, 14], 6: [1, 5, 8, 12, 16, 17], 7: [2, 6, 10, 14, 18, 19],
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
148 8: [3, 7, 12, 15, 19, 20], 9: [4, 8, 14, 17, 21, 22], 10: [5, 9, 15, 19, 22, 23],
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
149 11: [5, 10, 16, 20, 24, 25], 12: [6, 11, 17, 22, 26, 27], 13: [6, 12, 19, 24, 28, 29],
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
150 14: [7, 13, 20, 25, 30, 31], 15: [8, 14, 22, 26, 30, 31], 16: [9, 15, 23, 27, 32, 33],
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
151 17: [10, 16, 24, 29, 33, 34], 18: [11, 17, 25, 30, 35, 36], 19: [11, 18, 27, 32, 36, 37],
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
152 20: [12, 19, 28, 33, 38, 39], 21: [13, 20, 29, 35, 40, 41], 22: [14, 21, 30, 36, 41, 42],
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
153 23: [15, 22, 32, 37, 42, 43], 24: [15, 23, 33, 38, 43, 44], 25: [16, 24, 34, 40, 45, 46],
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
154 26: [17, 25, 35, 41, 46, 47], 27: [18, 26, 36, 42, 48, 49], 28: [18, 27, 38, 44, 49, 50],
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
155 29: [20, 28, 39, 45, 50, 51], 30: [20, 29, 40, 46, 52, 53], 31: [21, 30, 41, 47, 53, 54],
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
156 32: [22, 31, 42, 48, 54, 55], 33: [23, 32, 44, 50, 56, 57], 34: [23, 33, 45, 51, 57, 58],
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
157 35: [24, 34, 46, 52, 59, 60], 36: [25, 35, 47, 53, 59, 60], 37: [26, 36, 48, 55, 61, 62],
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
158 38: [27, 37, 50, 56, 62, 63], 39: [28, 38, 51, 57, 63, 64], 40: [29, 39, 52, 58, 65, 66],
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
159 41: [28, 40, 52, 60, 70, 71], 42: [29, 41, 53, 61, 71, 72], 43: [30, 42, 54, 63, 72, 73],
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
160 44: [31, 43, 55, 64, 74, 75], 45: [31, 44, 57, 66, 76, 77]
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
161 }
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
162 return successLevels
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
163
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
164 die_rollers.register(earthdawn)
6919a88b788c Traipse Beta 'OpenRPG' {100811-02}
sirebral
parents:
diff changeset
165