carps 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. data/COPYING +674 -0
  2. data/GEM_DESCRIPTION +10 -0
  3. data/History.txt +4 -0
  4. data/Manifest.txt +156 -0
  5. data/PostInstall.txt +20 -0
  6. data/README.rdoc +141 -0
  7. data/Rakefile +28 -0
  8. data/bin/carps +123 -0
  9. data/bin/carps_init +29 -0
  10. data/bin/carps_ipc_test +44 -0
  11. data/bin/carps_mod_saver_test +71 -0
  12. data/bin/carps_mod_test +62 -0
  13. data/config/website.yml +2 -0
  14. data/features/character_sheet.feature +40 -0
  15. data/features/crash.feature +15 -0
  16. data/features/crypt.feature +22 -0
  17. data/features/dice.feature +173 -0
  18. data/features/dm.feature +36 -0
  19. data/features/dmll.feature +51 -0
  20. data/features/edit.feature +10 -0
  21. data/features/email.feature +29 -0
  22. data/features/interface.feature +17 -0
  23. data/features/ipc.feature +10 -0
  24. data/features/mailbox.feature +33 -0
  25. data/features/mod.feature +31 -0
  26. data/features/parser.feature +9 -0
  27. data/features/persistent_protocol.feature +14 -0
  28. data/features/player.feature +22 -0
  29. data/features/player_turn.feature +29 -0
  30. data/features/random.feature +15 -0
  31. data/features/rule.feature +19 -0
  32. data/features/safety.feature +13 -0
  33. data/features/sessions.feature +16 -0
  34. data/features/start_dm.feature +18 -0
  35. data/features/start_player.feature +8 -0
  36. data/features/step_definitions/common_steps.rb +170 -0
  37. data/features/steps/character_sheet.rb +89 -0
  38. data/features/steps/crash.rb +27 -0
  39. data/features/steps/crypt.rb +166 -0
  40. data/features/steps/dice.rb +91 -0
  41. data/features/steps/dm.rb +147 -0
  42. data/features/steps/dmll.rb +47 -0
  43. data/features/steps/edit.rb +7 -0
  44. data/features/steps/email.rb +108 -0
  45. data/features/steps/general.rb +5 -0
  46. data/features/steps/interface.rb +64 -0
  47. data/features/steps/ipc.rb +22 -0
  48. data/features/steps/mailbox.rb +126 -0
  49. data/features/steps/mod.rb +25 -0
  50. data/features/steps/parser.rb +23 -0
  51. data/features/steps/persistent_protocol.rb +29 -0
  52. data/features/steps/player.rb +82 -0
  53. data/features/steps/player_turn.rb +56 -0
  54. data/features/steps/random.rb +47 -0
  55. data/features/steps/rule.rb +53 -0
  56. data/features/steps/safety.rb +17 -0
  57. data/features/steps/sessions.rb +37 -0
  58. data/features/steps/start_dm.rb +46 -0
  59. data/features/steps/start_player.rb +65 -0
  60. data/features/steps/timeout.rb +32 -0
  61. data/features/steps/type_verification.rb +36 -0
  62. data/features/steps/wizard.rb +123 -0
  63. data/features/support/common.rb +29 -0
  64. data/features/support/env.rb +14 -0
  65. data/features/support/matchers.rb +11 -0
  66. data/features/timeout.feature +11 -0
  67. data/features/type_verification.feature +48 -0
  68. data/features/wizard.feature +50 -0
  69. data/lib/carps/crypt/accept_handshake.rb +40 -0
  70. data/lib/carps/crypt/default_messages.rb +29 -0
  71. data/lib/carps/crypt/handshake.rb +41 -0
  72. data/lib/carps/crypt/mailbox.rb +265 -0
  73. data/lib/carps/crypt/mailer.rb +220 -0
  74. data/lib/carps/crypt/peer.rb +123 -0
  75. data/lib/carps/crypt/public_key.rb +60 -0
  76. data/lib/carps/crypt.rb +23 -0
  77. data/lib/carps/email/config.rb +122 -0
  78. data/lib/carps/email/imap.rb +156 -0
  79. data/lib/carps/email/smtp.rb +119 -0
  80. data/lib/carps/email/string.rb +30 -0
  81. data/lib/carps/email.rb +21 -0
  82. data/lib/carps/mod/action.rb +36 -0
  83. data/lib/carps/mod/answers.rb +76 -0
  84. data/lib/carps/mod/client_turn.rb +88 -0
  85. data/lib/carps/mod/dice.rb +360 -0
  86. data/lib/carps/mod/dm/interface.rb +160 -0
  87. data/lib/carps/mod/dm/mod.rb +409 -0
  88. data/lib/carps/mod/dm/reporter.rb +112 -0
  89. data/lib/carps/mod/dm/resource.rb +88 -0
  90. data/lib/carps/mod/dm/room.rb +33 -0
  91. data/lib/carps/mod/interface.rb +73 -0
  92. data/lib/carps/mod/launch.rb +108 -0
  93. data/lib/carps/mod/mod.rb +52 -0
  94. data/lib/carps/mod/player/interface.rb +76 -0
  95. data/lib/carps/mod/player/mod.rb +109 -0
  96. data/lib/carps/mod/question.rb +63 -0
  97. data/lib/carps/mod/rule.rb +112 -0
  98. data/lib/carps/mod/sheet/character.rb +82 -0
  99. data/lib/carps/mod/sheet/editor.rb +97 -0
  100. data/lib/carps/mod/sheet/new_sheet.rb +71 -0
  101. data/lib/carps/mod/sheet/schema.rb +84 -0
  102. data/lib/carps/mod/sheet/type.rb +161 -0
  103. data/lib/carps/mod/sheet/verifier.rb +41 -0
  104. data/lib/carps/mod/status_report.rb +51 -0
  105. data/lib/carps/mod.rb +40 -0
  106. data/lib/carps/protocol/keyword.rb +104 -0
  107. data/lib/carps/protocol/message.rb +138 -0
  108. data/lib/carps/protocol.rb +19 -0
  109. data/lib/carps/service/client_parser.rb +34 -0
  110. data/lib/carps/service/dm/config.rb +76 -0
  111. data/lib/carps/service/dm/mailer.rb +70 -0
  112. data/lib/carps/service/dm/new_game.rb +101 -0
  113. data/lib/carps/service/dm/start.rb +47 -0
  114. data/lib/carps/service/game.rb +101 -0
  115. data/lib/carps/service/interface.rb +174 -0
  116. data/lib/carps/service/invite.rb +79 -0
  117. data/lib/carps/service/mod.rb +43 -0
  118. data/lib/carps/service/player/config.rb +78 -0
  119. data/lib/carps/service/player/mailer.rb +49 -0
  120. data/lib/carps/service/player/start.rb +60 -0
  121. data/lib/carps/service/server_parser.rb +33 -0
  122. data/lib/carps/service/session.rb +96 -0
  123. data/lib/carps/service/start/config.rb +71 -0
  124. data/lib/carps/service/start/interface.rb +101 -0
  125. data/lib/carps/service/start/mailer.rb +46 -0
  126. data/lib/carps/service.rb +35 -0
  127. data/lib/carps/test.rb +34 -0
  128. data/lib/carps/ui/colour.rb +28 -0
  129. data/lib/carps/ui/error.rb +39 -0
  130. data/lib/carps/ui/highlight.rb +32 -0
  131. data/lib/carps/ui/question.rb +63 -0
  132. data/lib/carps/ui/warn.rb +37 -0
  133. data/lib/carps/ui.rb +21 -0
  134. data/lib/carps/util/config.rb +162 -0
  135. data/lib/carps/util/editor.rb +147 -0
  136. data/lib/carps/util/error.rb +75 -0
  137. data/lib/carps/util/files.rb +48 -0
  138. data/lib/carps/util/init.rb +93 -0
  139. data/lib/carps/util/process.rb +150 -0
  140. data/lib/carps/util/timeout.rb +31 -0
  141. data/lib/carps/util/windows.rb +29 -0
  142. data/lib/carps/util.rb +24 -0
  143. data/lib/carps/wizard/dm.rb +41 -0
  144. data/lib/carps/wizard/player.rb +40 -0
  145. data/lib/carps/wizard/steps.rb +494 -0
  146. data/lib/carps/wizard/wizard.rb +126 -0
  147. data/lib/carps/wizard.rb +21 -0
  148. data/lib/carps.rb +45 -0
  149. data/permission +16 -0
  150. data/script/console +10 -0
  151. data/script/destroy +14 -0
  152. data/script/generate +14 -0
  153. data/tasks/readme_site.rake +28 -0
  154. data/test/test_carps.rb +11 -0
  155. data/test/test_helper.rb +3 -0
  156. data/website/index.html +271 -0
  157. metadata +304 -0
data/script/console ADDED
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+ # File: script/console
3
+ irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
4
+
5
+ libs = " -r irb/completion"
6
+ # Perhaps use a console_lib to store any extra methods I may want available in the cosole
7
+ # libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
8
+ libs << " -r #{File.dirname(__FILE__) + '/../lib/carps.rb'}"
9
+ puts "Loading carps gem"
10
+ exec "#{irb} #{libs} --simple-prompt"
data/script/destroy ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
+
4
+ begin
5
+ require 'rubigen'
6
+ rescue LoadError
7
+ require 'rubygems'
8
+ require 'rubigen'
9
+ end
10
+ require 'rubigen/scripts/destroy'
11
+
12
+ ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
+ RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
+ RubiGen::Scripts::Destroy.new.run(ARGV)
data/script/generate ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
+
4
+ begin
5
+ require 'rubigen'
6
+ rescue LoadError
7
+ require 'rubygems'
8
+ require 'rubigen'
9
+ end
10
+ require 'rubigen/scripts/generate'
11
+
12
+ ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
+ RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
+ RubiGen::Scripts::Generate.new.run(ARGV)
@@ -0,0 +1,28 @@
1
+ require "rdoc/markup/to_html"
2
+
3
+ task :readme_site do
4
+ h = RDoc::Markup::ToHtml.new
5
+ body = h.convert(File.read("README.rdoc"))
6
+ # Just hack out the beginning and end...
7
+ doc = <<-END
8
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
9
+ <html xmlns="http://www.w3.org/1999/xhtml">
10
+ <head>
11
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
12
+ <title>CARPS #{CARPS::VERSION}</title>
13
+ <style type="text/css">
14
+ body
15
+ {
16
+ font-family:"DejaVu Sans", "Arial";
17
+ }
18
+ </style>
19
+ </head>
20
+ <body>
21
+ #{body}
22
+ </body>
23
+ </html>
24
+ END
25
+ web = File.open "website/index.html", "w"
26
+ web.write doc
27
+ web.close
28
+ end
@@ -0,0 +1,11 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestCarps < Test::Unit::TestCase
4
+
5
+ def setup
6
+ end
7
+
8
+ def test_truth
9
+ assert true
10
+ end
11
+ end
@@ -0,0 +1,3 @@
1
+ require 'stringio'
2
+ require 'test/unit'
3
+ require File.dirname(__FILE__) + '/../lib/carps'
@@ -0,0 +1,271 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
5
+ <title>CARPS 0.2.1</title>
6
+ <style type="text/css">
7
+ body
8
+ {
9
+ font-family:"DejaVu Sans", "Arial";
10
+ }
11
+ </style>
12
+ </head>
13
+ <body>
14
+ <h1>CARPS, the Computer Assisted Role-Playing Game System</h1>
15
+ <h2>CARPS is hosted on github:</h2>
16
+ <ul>
17
+ <li><p>
18
+ <a href="http://github.com/elginer/carps">github.com/elginer/carps</a>
19
+ </p>
20
+ </li>
21
+ </ul>
22
+ <h2>Description:</h2>
23
+ <p>
24
+ CARPS, the Computer Assisted Role-Playing Game System, is a tool for
25
+ playing pen and paper RPGs over the internet.
26
+ </p>
27
+ <p>
28
+ CARPS differs from other such systems because CARPS is not a
29
+ &#8216;real-time&#8217; system. It suits people who want to log on once or
30
+ twice a day, take a turn, and then log out again. While <em>OpenRPG</em>
31
+ could be described as being similar to a chat-room, CARPS is more similar
32
+ to an email client.
33
+ </p>
34
+ <p>
35
+ CARPS is an extensible system: game rules are provided by
36
+ &#8216;mods&#8217;.
37
+ </p>
38
+ <p>
39
+ CARPS supports these mods by providing:
40
+ </p>
41
+ <ul>
42
+ <li><p>
43
+ Text-mode user interfaces for the players and the dungeon master.
44
+ </p>
45
+ </li>
46
+ <li><p>
47
+ An easy to use probabilistic API which not only rolls the dice, but can
48
+ report the probability of various game events occurring.
49
+ </p>
50
+ </li>
51
+ <li><p>
52
+ Automated static character sheet verification, according to a schema
53
+ defined in YAML. For example, a game might require your strength to be an
54
+ integer.
55
+ </p>
56
+ </li>
57
+ <li><p>
58
+ Support for the semantic validation of character sheets according to game
59
+ rules. For example, a game might require the sum of character&#8217;s
60
+ attributes to be below a certain maximum value.
61
+ </p>
62
+ </li>
63
+ <li><p>
64
+ Together the validation features allow a mod writer to encode game rules
65
+ cleanly, as they do not need to consider the possibility of receiving an
66
+ invalid sheet.
67
+ </p>
68
+ </li>
69
+ </ul>
70
+ <p>
71
+ CARPS has other strengths:
72
+ </p>
73
+ <ul>
74
+ <li><p>
75
+ <b>Anyone</b> can play or host a CARPS game! All you need is an email
76
+ account.
77
+ </p>
78
+ </li>
79
+ <li><p>
80
+ CARPS is designed to be secure. Multiple email security options are
81
+ supported, and all CARPS messages are cryptographically signed to prevent
82
+ spoofing.
83
+ </p>
84
+ </li>
85
+ <li><p>
86
+ You can instruct CARPS to use your favourite text editor and terminal
87
+ emulator.
88
+ </p>
89
+ </li>
90
+ <li><p>
91
+ CARPS is easy to configure because it includes a wizard.
92
+ </p>
93
+ </li>
94
+ </ul>
95
+ <p>
96
+ <b>However</b>, CARPS is new and the following features, which you might
97
+ take for granted, are not yet supported:
98
+ </p>
99
+ <ul>
100
+ <li><p>
101
+ No GUI
102
+ </p>
103
+ </li>
104
+ <li><p>
105
+ No support for maps
106
+ </p>
107
+ </li>
108
+ <li><p>
109
+ No chat - all communication goes through the Game Master.
110
+ </p>
111
+ </li>
112
+ <li><p>
113
+ Games are currently invite only, at the discretion of the Game Master.
114
+ </p>
115
+ </li>
116
+ <li><p>
117
+ Security mechanisms are <b>not</b> well audited.
118
+ </p>
119
+ </li>
120
+ </ul>
121
+ <h2>Requirements:</h2>
122
+ <p>
123
+ For users:
124
+ </p>
125
+ <ul>
126
+ <li><p>
127
+ ruby 1.9
128
+ </p>
129
+ </li>
130
+ <li><p>
131
+ rubygems
132
+ </p>
133
+ </li>
134
+ <li><p>
135
+ openssl
136
+ </p>
137
+ </li>
138
+ <li><p>
139
+ highline
140
+ </p>
141
+ </li>
142
+ </ul>
143
+ <p>
144
+ For developing CARPS, you will also need:
145
+ </p>
146
+ <ul>
147
+ <li><p>
148
+ hoe
149
+ </p>
150
+ </li>
151
+ <li><p>
152
+ rake
153
+ </p>
154
+ </li>
155
+ <li><p>
156
+ newgem
157
+ </p>
158
+ </li>
159
+ <li><p>
160
+ cucumber
161
+ </p>
162
+ </li>
163
+ </ul>
164
+ <h2>To Install:</h2>
165
+ <p>
166
+ <tt># Install the gem</tt>
167
+ </p>
168
+ <p>
169
+ <tt>sudo gem install carps</tt>
170
+ </p>
171
+ <p>
172
+ <tt># Initialize the carps user directory. Run this as your everyday
173
+ user.</tt>
174
+ </p>
175
+ <p>
176
+ <tt>carps_init</tt>
177
+ </p>
178
+ <h2>Basic Instructions:</h2>
179
+ <p>
180
+ Run carps -h for help
181
+ </p>
182
+ <p>
183
+ The first time CARPS is run, it will launch a wizard to help you configure
184
+ your email settings, and choose a text editor and a terminal emulator.
185
+ </p>
186
+ <p>
187
+ It is a good idea to specify a terminal emulator, as then CARPS can launch
188
+ a mod in a new window (or similar). Then the first CARPS window will act
189
+ as an email logger, letting you see when you receive mails, without
190
+ interfering with the text you type into the new window.
191
+ </p>
192
+ <p>
193
+ You&#8217;re also going to need to install a mod to play CARPS. See the
194
+ example &#8216;fools&#8217; mod:
195
+ </p>
196
+ <ul>
197
+ <li><p>
198
+ <a href="http://fools.rubyforge.org">fools.rubyforge.org</a>
199
+ </p>
200
+ </li>
201
+ </ul>
202
+ <h2>Campaigns (For the DM):</h2>
203
+ <p>
204
+ When you set up a new game, CARPS will ask for you to enter the name of a
205
+ campaign.
206
+ </p>
207
+ <p>
208
+ This allows you to create game resources prior to starting a game.
209
+ </p>
210
+ <p>
211
+ For example, the following applies if your mod is called foo, the campaign
212
+ is called bar, and your carps user data directory is /home/user/carps
213
+ </p>
214
+ <p>
215
+ You should create the following directories
216
+ </p>
217
+ <p>
218
+ the campaign directory:
219
+ </p>
220
+ <p>
221
+ <tt>/home/user/carps/dm/campaigns/foo/bar</tt>
222
+ </p>
223
+ <p>
224
+ the NPCSs directory:
225
+ </p>
226
+ <p>
227
+ <tt>/home/user/carps/dm/campaigns/foo/bar/npcs</tt>
228
+ </p>
229
+ <p>
230
+ the rooms directory:
231
+ </p>
232
+ <p>
233
+ <tt>/home/user/carps/dm/campaigns/foo/bar/rooms</tt>
234
+ </p>
235
+ <p>
236
+ NPCs are defined as YAML files, according to the mod&#8217;s schema. Put
237
+ them in the NPCs directory. They MUST have the <tt>.yaml</tt> extension.
238
+ </p>
239
+ <p>
240
+ Rooms are defined as text files. These are just predefined pieces of prose
241
+ that the DM will send to the players when they enter a room, for instance.
242
+ Put them in the rooms directory. They MUST have the <tt>.txt</tt>
243
+ extension.
244
+ </p>
245
+ <h2>License:</h2>
246
+ <p>
247
+ Copyright 2010 John Morrice
248
+ </p>
249
+ <pre>
250
+
251
+ </pre>
252
+ <p>
253
+ CARPS is free software: you can redistribute it and/or modify it under the
254
+ terms of the GNU General Public License as published by the Free Software
255
+ Foundation, either version 3 of the License, or (at your option) any later
256
+ version.
257
+ </p>
258
+ <p>
259
+ CARPS is distributed in the hope that it will be useful, but WITHOUT ANY
260
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
261
+ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
262
+ details.
263
+ </p>
264
+ <p>
265
+ You should have received a copy of the GNU General Public License along
266
+ with CARPS. If not, see <a
267
+ href="http://www.gnu.org/licenses">www.gnu.org/licenses</a>/.
268
+ </p>
269
+
270
+ </body>
271
+ </html>
metadata ADDED
@@ -0,0 +1,304 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: carps
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 2
8
+ - 1
9
+ version: 0.2.1
10
+ platform: ruby
11
+ authors:
12
+ - John Morrice
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-11-10 00:00:00 +00:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: highline
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 1
30
+ - 6
31
+ - 1
32
+ version: 1.6.1
33
+ type: :runtime
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: rubyforge
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ segments:
44
+ - 2
45
+ - 0
46
+ - 4
47
+ version: 2.0.4
48
+ type: :development
49
+ version_requirements: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ name: hoe
52
+ prerelease: false
53
+ requirement: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ segments:
59
+ - 2
60
+ - 6
61
+ - 2
62
+ version: 2.6.2
63
+ type: :development
64
+ version_requirements: *id003
65
+ description: |
66
+ CARPS, the Computer Assisted Role-Playing Game System,
67
+ is a tool for playing pen and paper RPGs over the internet.
68
+
69
+ CARPS is:
70
+
71
+ extensible; game rules are provided by extensions to CARPS.
72
+
73
+ decentralized; CARPS' protocol is a layer on top of email.
74
+
75
+ secure; CARPS messages are cryptographically signed to prevent spoofing.
76
+
77
+ email:
78
+ - spoon@killersmurf.com
79
+ executables:
80
+ - carps
81
+ - carps_init
82
+ - carps_ipc_test
83
+ - carps_mod_saver_test
84
+ - carps_mod_test
85
+ extensions: []
86
+
87
+ extra_rdoc_files:
88
+ - History.txt
89
+ - Manifest.txt
90
+ - PostInstall.txt
91
+ files:
92
+ - COPYING
93
+ - GEM_DESCRIPTION
94
+ - History.txt
95
+ - Manifest.txt
96
+ - PostInstall.txt
97
+ - README.rdoc
98
+ - Rakefile
99
+ - bin/carps
100
+ - bin/carps_init
101
+ - bin/carps_ipc_test
102
+ - bin/carps_mod_saver_test
103
+ - bin/carps_mod_test
104
+ - config/website.yml
105
+ - features/character_sheet.feature
106
+ - features/crash.feature
107
+ - features/crypt.feature
108
+ - features/dice.feature
109
+ - features/dm.feature
110
+ - features/dmll.feature
111
+ - features/edit.feature
112
+ - features/email.feature
113
+ - features/interface.feature
114
+ - features/ipc.feature
115
+ - features/mailbox.feature
116
+ - features/mod.feature
117
+ - features/parser.feature
118
+ - features/persistent_protocol.feature
119
+ - features/player.feature
120
+ - features/player_turn.feature
121
+ - features/random.feature
122
+ - features/rule.feature
123
+ - features/safety.feature
124
+ - features/sessions.feature
125
+ - features/start_dm.feature
126
+ - features/start_player.feature
127
+ - features/step_definitions/common_steps.rb
128
+ - features/steps/character_sheet.rb
129
+ - features/steps/crash.rb
130
+ - features/steps/crypt.rb
131
+ - features/steps/dice.rb
132
+ - features/steps/dm.rb
133
+ - features/steps/dmll.rb
134
+ - features/steps/edit.rb
135
+ - features/steps/email.rb
136
+ - features/steps/general.rb
137
+ - features/steps/interface.rb
138
+ - features/steps/ipc.rb
139
+ - features/steps/mailbox.rb
140
+ - features/steps/mod.rb
141
+ - features/steps/parser.rb
142
+ - features/steps/persistent_protocol.rb
143
+ - features/steps/player.rb
144
+ - features/steps/player_turn.rb
145
+ - features/steps/random.rb
146
+ - features/steps/rule.rb
147
+ - features/steps/safety.rb
148
+ - features/steps/sessions.rb
149
+ - features/steps/start_dm.rb
150
+ - features/steps/start_player.rb
151
+ - features/steps/timeout.rb
152
+ - features/steps/type_verification.rb
153
+ - features/steps/wizard.rb
154
+ - features/support/common.rb
155
+ - features/support/env.rb
156
+ - features/support/matchers.rb
157
+ - features/timeout.feature
158
+ - features/type_verification.feature
159
+ - features/wizard.feature
160
+ - lib/carps.rb
161
+ - lib/carps/crypt.rb
162
+ - lib/carps/crypt/accept_handshake.rb
163
+ - lib/carps/crypt/default_messages.rb
164
+ - lib/carps/crypt/handshake.rb
165
+ - lib/carps/crypt/mailbox.rb
166
+ - lib/carps/crypt/mailer.rb
167
+ - lib/carps/crypt/peer.rb
168
+ - lib/carps/crypt/public_key.rb
169
+ - lib/carps/email.rb
170
+ - lib/carps/email/config.rb
171
+ - lib/carps/email/imap.rb
172
+ - lib/carps/email/smtp.rb
173
+ - lib/carps/email/string.rb
174
+ - lib/carps/mod.rb
175
+ - lib/carps/mod/action.rb
176
+ - lib/carps/mod/answers.rb
177
+ - lib/carps/mod/client_turn.rb
178
+ - lib/carps/mod/dice.rb
179
+ - lib/carps/mod/dm/interface.rb
180
+ - lib/carps/mod/dm/mod.rb
181
+ - lib/carps/mod/dm/reporter.rb
182
+ - lib/carps/mod/dm/resource.rb
183
+ - lib/carps/mod/dm/room.rb
184
+ - lib/carps/mod/interface.rb
185
+ - lib/carps/mod/launch.rb
186
+ - lib/carps/mod/mod.rb
187
+ - lib/carps/mod/player/interface.rb
188
+ - lib/carps/mod/player/mod.rb
189
+ - lib/carps/mod/question.rb
190
+ - lib/carps/mod/rule.rb
191
+ - lib/carps/mod/sheet/character.rb
192
+ - lib/carps/mod/sheet/editor.rb
193
+ - lib/carps/mod/sheet/new_sheet.rb
194
+ - lib/carps/mod/sheet/schema.rb
195
+ - lib/carps/mod/sheet/type.rb
196
+ - lib/carps/mod/sheet/verifier.rb
197
+ - lib/carps/mod/status_report.rb
198
+ - lib/carps/protocol.rb
199
+ - lib/carps/protocol/keyword.rb
200
+ - lib/carps/protocol/message.rb
201
+ - lib/carps/service.rb
202
+ - lib/carps/service/client_parser.rb
203
+ - lib/carps/service/dm/config.rb
204
+ - lib/carps/service/dm/mailer.rb
205
+ - lib/carps/service/dm/new_game.rb
206
+ - lib/carps/service/dm/start.rb
207
+ - lib/carps/service/game.rb
208
+ - lib/carps/service/interface.rb
209
+ - lib/carps/service/invite.rb
210
+ - lib/carps/service/mod.rb
211
+ - lib/carps/service/player/config.rb
212
+ - lib/carps/service/player/mailer.rb
213
+ - lib/carps/service/player/start.rb
214
+ - lib/carps/service/server_parser.rb
215
+ - lib/carps/service/session.rb
216
+ - lib/carps/service/start/config.rb
217
+ - lib/carps/service/start/interface.rb
218
+ - lib/carps/service/start/mailer.rb
219
+ - lib/carps/test.rb
220
+ - lib/carps/ui.rb
221
+ - lib/carps/ui/colour.rb
222
+ - lib/carps/ui/error.rb
223
+ - lib/carps/ui/highlight.rb
224
+ - lib/carps/ui/question.rb
225
+ - lib/carps/ui/warn.rb
226
+ - lib/carps/util.rb
227
+ - lib/carps/util/config.rb
228
+ - lib/carps/util/editor.rb
229
+ - lib/carps/util/error.rb
230
+ - lib/carps/util/files.rb
231
+ - lib/carps/util/init.rb
232
+ - lib/carps/util/process.rb
233
+ - lib/carps/util/timeout.rb
234
+ - lib/carps/util/windows.rb
235
+ - lib/carps/wizard.rb
236
+ - lib/carps/wizard/dm.rb
237
+ - lib/carps/wizard/player.rb
238
+ - lib/carps/wizard/steps.rb
239
+ - lib/carps/wizard/wizard.rb
240
+ - permission
241
+ - script/console
242
+ - script/destroy
243
+ - script/generate
244
+ - tasks/readme_site.rake
245
+ - test/test_carps.rb
246
+ - test/test_helper.rb
247
+ - website/index.html
248
+ has_rdoc: true
249
+ homepage:
250
+ licenses: []
251
+
252
+ post_install_message: |
253
+ =========================================================================
254
+
255
+ 0
256
+ O
257
+ o
258
+ ><> ><> ><>
259
+
260
+ Thank you for installing CARPS 0.2.1
261
+
262
+ For help, run:
263
+
264
+ carps -h
265
+
266
+
267
+ CARPS is hosted on github at
268
+ http://github.com/elginer/carps
269
+
270
+ CARPS is copyright John Morrice 2010
271
+
272
+ =========================================================================
273
+
274
+ rdoc_options:
275
+ - --main
276
+ - README.rdoc
277
+ require_paths:
278
+ - lib
279
+ required_ruby_version: !ruby/object:Gem::Requirement
280
+ none: false
281
+ requirements:
282
+ - - ">="
283
+ - !ruby/object:Gem::Version
284
+ segments:
285
+ - 0
286
+ version: "0"
287
+ required_rubygems_version: !ruby/object:Gem::Requirement
288
+ none: false
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ segments:
293
+ - 0
294
+ version: "0"
295
+ requirements: []
296
+
297
+ rubyforge_project: carps
298
+ rubygems_version: 1.3.7
299
+ signing_key:
300
+ specification_version: 3
301
+ summary: Computer Assisted Role-Playing Game System
302
+ test_files:
303
+ - test/test_carps.rb
304
+ - test/test_helper.rb