Mercurial > traipse_dev
comparison orpg/dieroller/HOWTO.txt @ 0:4385a7d0efd1 grumpy-goblin
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
author | sirebral |
---|---|
date | Tue, 14 Jul 2009 16:41:58 -0500 |
parents | |
children | bf799efe7a8a |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4385a7d0efd1 |
---|---|
1 HOW TO CREATE A NEW DIE ROLLER | |
2 | |
3 So you want a make a new roller or add a new option? here's a short guide. | |
4 | |
5 | |
6 Step 1: Create a new die roller sub class. | |
7 | |
8 You need to derive a new die roller class from an existing die roller class. | |
9 Most likely, this will be the std die roller class. | |
10 | |
11 The basics would look like this: | |
12 | |
13 class new_roller(std): | |
14 def __init__(self,source=[]): | |
15 std.__init__(self,source) | |
16 ..... | |
17 | |
18 .... | |
19 | |
20 Step 2: Implement new methods and/or override existing ones. | |
21 | |
22 Now, you just need to implement any new die options and override any | |
23 existing ones that you want to act differently. The most common options | |
24 to override are the sum and __str__ functions. Sum is used to determine | |
25 the result of the rolls and __str__ is used to display the results in | |
26 a user friendly string. | |
27 | |
28 For example: | |
29 | |
30 class new_roller(std): | |
31 def __init__(self,source=[]): | |
32 std.__init__(self,source) | |
33 ..... | |
34 | |
35 def myoption(self,param): | |
36 .... | |
37 | |
38 def sum(self): | |
39 .... | |
40 | |
41 def __str__(self): | |
42 .... | |
43 | |
44 REMEMBER! | |
45 Always return an instance of your die roller for each option expect str and sum. | |
46 | |
47 | |
48 Step 3: | |
49 | |
50 Modify Utils.py | |
51 | |
52 You need to make some minor modifications to utils.py to facilitate | |
53 your new roller. You need to a) add an import call for your roller, | |
54 and b) add your roller to the list of available rollers. | |
55 | |
56 For example: | |
57 | |
58 from die import * | |
59 # add addtional rollers here | |
60 from myroller import * | |
61 .... | |
62 | |
63 rollers = ['std','wod','d20','myroller'] | |
64 | |
65 Step 4: You're done! | |
66 | |
67 Test it and make sure it works. When you think its done, send it to | |
68 the openrpg developers and they might include it in future releases. | |
69 | |
70 -Chris Davis | |
71 | |
72 |