wxrcg 0.1.0

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 (56) hide show
  1. data/.gitignore +1 -0
  2. data/LICENSE +24 -0
  3. data/README.md +51 -0
  4. data/Rakefile +30 -0
  5. data/VERSION +1 -0
  6. data/bin/dm_screen +17 -0
  7. data/bin/stats +21 -0
  8. data/bin/weapon_add +24 -0
  9. data/config/database.yml +22 -0
  10. data/db/development.sqlite +0 -0
  11. data/db/development.sqlite3 +0 -0
  12. data/db/sqlite scripts/create_armours.sql +16 -0
  13. data/db/sqlite scripts/create_categories.sql +10 -0
  14. data/db/sqlite scripts/create_characters.sql +21 -0
  15. data/db/sqlite scripts/create_races.sql +9 -0
  16. data/db/sqlite scripts/create_weapons.sql +16 -0
  17. data/db/sqlite scripts/critical.sql +12 -0
  18. data/db/sqlite scripts/damage.sql +21 -0
  19. data/db/sqlite scripts/damage_type.sql +15 -0
  20. data/db/sqlite scripts/encumbrance_type.sql +10 -0
  21. data/db/sqlite scripts/training_type.sql +8 -0
  22. data/db/sqlite scripts/weapon_special_qualities_weapons.sql +17 -0
  23. data/db/test.sqlite +0 -0
  24. data/lib/character.old.rb +72 -0
  25. data/lib/controllers/character_controller.rb +35 -0
  26. data/lib/controllers/dm_screen_controller.rb +23 -0
  27. data/lib/controllers/weapon_controller.rb +37 -0
  28. data/lib/initdb.rb +27 -0
  29. data/lib/models/armour.rb +3 -0
  30. data/lib/models/character.rb +120 -0
  31. data/lib/models/critical.rb +11 -0
  32. data/lib/models/damage.rb +8 -0
  33. data/lib/models/damage_type.rb +3 -0
  34. data/lib/models/encumbrance_type.rb +3 -0
  35. data/lib/models/race.rb +3 -0
  36. data/lib/models/size.rb +4 -0
  37. data/lib/models/training_type.rb +3 -0
  38. data/lib/models/weapon.rb +59 -0
  39. data/lib/models/weapon_special_quality.rb +3 -0
  40. data/lib/views/abilities_frame.rb +285 -0
  41. data/lib/views/char_select_dialog.rb +60 -0
  42. data/lib/views/dm_screen_frame.rb +64 -0
  43. data/lib/views/weapon_screen_frame.rb +232 -0
  44. data/log/.keep_me +0 -0
  45. data/tests/armour_model_test.rb +10 -0
  46. data/tests/character_model_test.rb +10 -0
  47. data/tests/critical_model_test.rb +10 -0
  48. data/tests/damage_model_test.rb +10 -0
  49. data/tests/damage_type_model_test.rb +10 -0
  50. data/tests/encumbrance_type_model_test.rb +10 -0
  51. data/tests/race_model_test.rb +10 -0
  52. data/tests/size_model_test.rb +10 -0
  53. data/tests/training_type_model_test.rb +10 -0
  54. data/tests/weapon_model_test.rb +19 -0
  55. data/tests/weapon_special_quality_model_test.rb +10 -0
  56. metadata +141 -0
@@ -0,0 +1,232 @@
1
+ class Weapon_screen_frame < Wx::Frame
2
+ def initialize(version, lists)
3
+ super(nil, :title => "Add a weapon to the Database", :size => [800,600])
4
+ create_status_bar
5
+ create_tool_bar
6
+
7
+ self.set_status_text("Current SCM Version: #{version}")
8
+
9
+ menu_bar = Wx::MenuBar.new
10
+ file_menu = Wx::Menu.new
11
+ menu_bar.append(file_menu, "&File")
12
+
13
+ self.menu_bar = menu_bar
14
+
15
+ # Set up Controls
16
+ @name = Wx::TextCtrl.new(self, -1)
17
+ @name_l = Wx::StaticText.new(self, -1, "Weapon Name")
18
+ @training_type = Wx::Choice.new(self, -1)
19
+ @training_type_l = Wx::StaticText.new(self, -1, "Training Type")
20
+ @encumbrance_type = Wx::Choice.new(self, -1)
21
+ @encumbrance_type_l = Wx::StaticText.new(self, -1, "Encumbrance Type")
22
+ @damage = Wx::Choice.new(self, -1)
23
+ @damage_l = Wx::StaticText.new(self, -1, "End One Damage")
24
+ @damage2 = Wx::Choice.new(self, -1)
25
+ @damage2_l = Wx::StaticText.new(self, -1, "End Two Damage")
26
+ @damage_type = Wx::Choice.new(self, -1)
27
+ @damage_type_l = Wx::StaticText.new(self, -1, "Damage Type")
28
+ @critical = Wx::Choice.new(self, -1)
29
+ @critical_l = Wx::StaticText.new(self, -1, "Critical")
30
+ @size = Wx::Choice.new(self, -1)
31
+ @size_l = Wx::StaticText.new(self, -1, "Size")
32
+ @cost = Wx::TextCtrl.new(self, -1)
33
+ @cost_l = Wx::StaticText.new(self, -1, "Cost")
34
+ @range = Wx::TextCtrl.new(self, -1)
35
+ @range_l = Wx::StaticText.new(self, -1, "Range")
36
+ @weight = Wx::TextCtrl.new(self, -1)
37
+ @weight_l = Wx::StaticText.new(self, -1, "Weight")
38
+ @blank_txt = Wx::StaticText.new(self,-1,"")
39
+ @save_btn = Wx::Button.new(self,:label=>'Save')
40
+ @load_btn = Wx::Button.new(self,:label=>'Load')
41
+ @table = Wx::Grid.new(self)
42
+ @sqs = WeaponSpecialQuality.find(:all, :order => "name ASC").map {|sq| Wx::CheckBox.new(self, -1, sq.name)}
43
+
44
+
45
+
46
+ # Set up Table
47
+ @labels = ["Name","Training", "Encumbrance", "Damage",
48
+ "Damage Type", "Critical", "Size", "Cost", "Range", "Weight",
49
+ "Special"]
50
+ @table.create_grid(0, @labels.length)
51
+ @labels.each do |lab|
52
+ @table.set_col_label_value(@labels.index(lab), lab)
53
+ end
54
+
55
+ Weapon.find(:all).each { |weapon| update_table(weapon) }
56
+
57
+ @table.set_selection_mode(Wx::Grid::GridSelectRows)
58
+ @table.auto_size_columns
59
+ @table.fit
60
+ @table.enable_editing(false)
61
+
62
+ # Set up Choices
63
+ lists[:training_types].each {|type| @training_type.append(type.name, type.id)}
64
+ lists[:encumbrance_types].each {|type| @encumbrance_type.append(type.name, type.id)}
65
+ lists[:damages].each {|type| @damage.append(type.to_s, type.id);@damage2.append(type.to_s, type.id)}
66
+ lists[:damage_types].each {|type| @damage_type.append(type.name, type.id)}
67
+ lists[:criticals].each {|type| @critical.append(type.to_s, type.id)}
68
+ lists[:sizes].each {|type| @size.append(type.name, type.id)}
69
+
70
+ # Set up menus
71
+ file_menu.append(@save_btn.get_id(), '&Save', 'Save')
72
+ file_menu.append_separator
73
+ file_menu.append(Wx::ID_EXIT, 'E&xit', 'Exit')
74
+
75
+ # Sizers
76
+ @main_sizer = Wx::BoxSizer.new(Wx::HORIZONTAL)
77
+ @vert_sizer = Wx::BoxSizer.new(Wx::VERTICAL)
78
+ @entry_sizer = Wx::GridSizer.new(0,2,0,0)
79
+ @btn_sizer = Wx::GridSizer.new(0,2,0,0)
80
+
81
+ #Add everythig into the sizer
82
+ @entry_sizer.add(@name_l,0,Wx::ALIGN_CENTER|Wx::ALL,5)
83
+ @entry_sizer.add(@name,0,Wx::ALIGN_CENTER|Wx::ALL,5)
84
+ @entry_sizer.add(@training_type_l,0,Wx::ALIGN_CENTER|Wx::ALL,5)
85
+ @entry_sizer.add(@training_type,0,Wx::ALIGN_CENTER|Wx::ALL,5)
86
+ @entry_sizer.add(@encumbrance_type_l,0,Wx::ALIGN_CENTER|Wx::ALL,5)
87
+ @entry_sizer.add(@encumbrance_type,0,Wx::ALIGN_CENTER|Wx::ALL,5)
88
+ @entry_sizer.add(@damage_l,0,Wx::ALIGN_CENTER|Wx::ALL,5)
89
+ @entry_sizer.add(@damage,0,Wx::ALIGN_CENTER|Wx::ALL,5)
90
+ @entry_sizer.add(@damage_type_l,0,Wx::ALIGN_CENTER|Wx::ALL,5)
91
+ @entry_sizer.add(@damage_type,0,Wx::ALIGN_CENTER|Wx::ALL,5)
92
+ @entry_sizer.add(@damage2_l,0,Wx::ALIGN_CENTER|Wx::ALL,5)
93
+ @entry_sizer.add(@damage2,0,Wx::ALIGN_CENTER|Wx::ALL,5)
94
+ @entry_sizer.add(@critical_l,0,Wx::ALIGN_CENTER|Wx::ALL,5)
95
+ @entry_sizer.add(@critical,0,Wx::ALIGN_CENTER|Wx::ALL,5)
96
+ @entry_sizer.add(@size_l,0,Wx::ALIGN_CENTER|Wx::ALL,5)
97
+ @entry_sizer.add(@size,0,Wx::ALIGN_CENTER|Wx::ALL,5)
98
+ @entry_sizer.add(@range_l,0,Wx::ALIGN_CENTER|Wx::ALL,5)
99
+ @entry_sizer.add(@range,0,Wx::ALIGN_CENTER|Wx::ALL,5)
100
+ @entry_sizer.add(@cost_l,0,Wx::ALIGN_CENTER|Wx::ALL,5)
101
+ @entry_sizer.add(@cost,0,Wx::ALIGN_CENTER|Wx::ALL,5)
102
+ @entry_sizer.add(@weight_l,0,Wx::ALIGN_CENTER|Wx::ALL,5)
103
+ @entry_sizer.add(@weight,0,Wx::ALIGN_CENTER|Wx::ALL,5)
104
+ @sqs.each do |sq|
105
+ @entry_sizer.add(sq,0,Wx::ALIGN_CENTER|Wx::ALL,5)
106
+ end
107
+
108
+ @btn_sizer.add(@load_btn,0,Wx::ALIGN_CENTER|Wx::ALL,5)
109
+ @btn_sizer.add(@save_btn,0,Wx::ALIGN_CENTER|Wx::ALL,5)
110
+
111
+ @vert_sizer.add(@entry_sizer)
112
+ @vert_sizer.add(@btn_sizer)
113
+
114
+ @main_sizer.add(@vert_sizer)
115
+ @main_sizer.add(@table)
116
+
117
+ # Finish Sizer Setting
118
+ set_sizer(@main_sizer)
119
+ get_sizer.layout
120
+ get_sizer.fit(self)
121
+
122
+ #Event Handling
123
+ evt_menu(Wx::ID_EXIT, :on_exit)
124
+ evt_button(@save_btn.get_id()) { |event| save_button_event(event)}
125
+ evt_button(@load_btn.get_id()) { |event| load_button_event(event)}
126
+
127
+ reset_fields
128
+ show
129
+ end
130
+
131
+ def on_exit
132
+ close
133
+ end
134
+
135
+ def save_button_event(event)
136
+ #get our shit together
137
+ name = @name.value
138
+ tt = @training_type.get_item_data(@training_type.get_selection)
139
+ et = @encumbrance_type.get_item_data(@encumbrance_type.get_selection)
140
+ dam = @damage.get_item_data(@damage.get_selection)
141
+ dam2 = @damage2.get_item_data(@damage2.get_selection)
142
+ dt = @damage_type.get_item_data(@damage_type.get_selection)
143
+ crit = @critical.get_item_data(@critical.get_selection)
144
+ size = @size.get_item_data(@size.get_selection)
145
+ cost = @cost.value
146
+ range = @range.value
147
+ weight = @weight.value
148
+
149
+ #Add to the DB
150
+ weapon = Weapon.create(:name => name, :training_type_id => tt, :encumbrance_type_id => et,
151
+ :damage_id => dam, :damage_type_id => dt, :damage2_id => dam2, :critical_id => crit,
152
+ :size_id => size, :cost => cost, :range => range, :weight => weight)
153
+
154
+ #Update the special qualities tables
155
+ @sqs.each do |sq|
156
+ if sq.is_checked then
157
+ weapon.has_quality(WeaponSpecialQuality.find_by_name(sq.get_label))
158
+ end
159
+ end
160
+
161
+ #Update the table, and reset everything for the next update...
162
+ update_table(weapon)
163
+ reset_fields
164
+ get_sizer.layout
165
+ get_sizer.fit(self)
166
+ end
167
+
168
+ def update_table(weapon)
169
+ @row = @table.get_number_rows
170
+ @table.append_rows
171
+ @table.set_cell_value(@row,0,weapon.name)
172
+ @table.set_cell_value(@row,1,weapon.training_type.name)
173
+ @table.set_cell_value(@row,2,weapon.encumbrance_type.name)
174
+ @table.set_cell_value(@row,3,weapon.combined_damage)
175
+ @table.set_cell_value(@row,4,weapon.damage_type.name)
176
+ @table.set_cell_value(@row,5,weapon.critical.to_s)
177
+ @table.set_cell_value(@row,6,weapon.size.name)
178
+ @table.set_cell_value(@row,7,weapon.fcost.to_s)
179
+ @table.set_cell_value(@row,8,weapon.frange.to_s)
180
+ @table.set_cell_value(@row,9,weapon.fweight.to_s)
181
+ @table.set_cell_value(@row,10,weapon.specials)
182
+ @table.auto_size_columns
183
+ @table.fit
184
+ end
185
+
186
+ def reset_fields
187
+ @name.value = ""
188
+ @training_type.set_string_selection "Simple"
189
+ @encumbrance_type.set_string_selection "Light"
190
+ @damage.set_string_selection "0D0"
191
+ @damage2.set_string_selection "0D0"
192
+ @damage_type.set_string_selection "Bludgeoning"
193
+ @critical.set_string_selection "x2"
194
+ @size.set_string_selection "Medium"
195
+ @cost.value = ""
196
+ @range.value = ""
197
+ @weight.value = ""
198
+ @sqs.each do |sq|
199
+ sq.set_value(0)
200
+ end
201
+ end
202
+
203
+ def load_button_event(event)
204
+ if @table.get_selected_rows.size != 1 then
205
+ Wx::MessageDialog.new(self,"Only Select 1 Row!", "Warning", Wx::OK).show_modal
206
+ else
207
+ weapon = Weapon.find_by_name(@table.get_cell_value(@table.get_selected_rows[0],0))
208
+ load_weapon(weapon)
209
+ end
210
+ end
211
+
212
+ def load_weapon(weapon)
213
+ @name.value = weapon.name
214
+ @training_type.set_string_selection weapon.training_type.name
215
+ @encumbrance_type.set_string_selection weapon.encumbrance_type.name
216
+ @damage.set_string_selection weapon.damage.to_s
217
+ @damage2.set_string_selection weapon.damage2.to_s
218
+ @damage_type.set_string_selection weapon.damage_type.name
219
+ @critical.set_string_selection weapon.critical.to_s
220
+ @size.set_string_selection weapon.size.name
221
+ @cost.value = weapon.cost.to_s
222
+ @range.value = weapon.range.to_s
223
+ @weight.value = weapon.weight.to_s
224
+ @sqs.each do |sq|
225
+ if weapon.has_quality?(sq.get_label) then
226
+ sq.set_value(1)
227
+ else
228
+ sq.set_value(0)
229
+ end
230
+ end
231
+ end
232
+ end
data/log/.keep_me ADDED
File without changes
@@ -0,0 +1,10 @@
1
+ require 'lib/initdb'
2
+ require 'lib/models/armour'
3
+ require 'test/unit'
4
+
5
+ class MyArmourTest < Test::Unit::TestCase
6
+ def test_armours
7
+ armours = Armour.find(:all)
8
+ assert_not_equal(armours.size, 0)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'lib/initdb'
2
+ require 'lib/models/character'
3
+ require 'test/unit'
4
+
5
+ class MyCharacterTest < Test::Unit::TestCase
6
+ def test_characters
7
+ characters = Character.find(:all)
8
+ assert_not_equal(characters.size, 0)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'lib/initdb'
2
+ require 'lib/models/critical'
3
+ require 'test/unit'
4
+
5
+ class MyCriticalTest < Test::Unit::TestCase
6
+ def test_criticals
7
+ criticals = Critical.find(:all)
8
+ assert_not_equal(criticals.size, 0)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'lib/initdb'
2
+ require 'lib/models/damage'
3
+ require 'test/unit'
4
+
5
+ class MyDamageTest < Test::Unit::TestCase
6
+ def test_damages
7
+ damages = Damage.find(:all)
8
+ assert_not_equal(damages.size, 0)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'lib/initdb'
2
+ require 'lib/models/damage_type'
3
+ require 'test/unit'
4
+
5
+ class MyDamageTypeTest < Test::Unit::TestCase
6
+ def test_damage_types
7
+ damage_types = DamageType.find(:all)
8
+ assert_not_equal(damage_types.size, 0)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'lib/initdb'
2
+ require 'lib/models/encumbrance_type'
3
+ require 'test/unit'
4
+
5
+ class MyEncumbranceTypeTest < Test::Unit::TestCase
6
+ def test_encumbrance_types
7
+ encumbrance_types = EncumbranceType.find(:all)
8
+ assert_not_equal(encumbrance_types.size, 0)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'lib/initdb'
2
+ require 'lib/models/race'
3
+ require 'test/unit'
4
+
5
+ class MyRaceTest < Test::Unit::TestCase
6
+ def test_races
7
+ races = Race.find(:all)
8
+ assert_not_equal(races.size, 0)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'lib/initdb'
2
+ require 'lib/models/size'
3
+ require 'test/unit'
4
+
5
+ class MySizeTest < Test::Unit::TestCase
6
+ def test_sizes
7
+ sizes = Size.find(:all)
8
+ assert_not_equal(sizes.size, 0)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'lib/initdb'
2
+ require 'lib/models/training_type'
3
+ require 'test/unit'
4
+
5
+ class MyTrainingTypeTest < Test::Unit::TestCase
6
+ def test_training_types
7
+ training_types = TrainingType.find(:all)
8
+ assert_not_equal(training_types.size, 0)
9
+ end
10
+ end
@@ -0,0 +1,19 @@
1
+ require 'lib/initdb'
2
+ require 'lib/models/weapon'
3
+ require 'test/unit'
4
+
5
+ class MyWeaponTest < Test::Unit::TestCase
6
+ def test_weapons
7
+ weapons = Weapon.find(:all)
8
+ assert_not_equal(weapons.size, 0)
9
+ weapons.each do |weapon|
10
+ assert_not_equal(weapon.training_type, nil)
11
+ assert_not_equal(weapon.encumbrance_type, nil)
12
+ assert_not_equal(weapon.damage, nil)
13
+ assert_not_equal(weapon.damage_type, nil)
14
+ assert_not_equal(weapon.damage2, nil)
15
+ assert_not_equal(weapon.critical, nil)
16
+ assert_not_equal(weapon.size, nil)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,10 @@
1
+ require 'lib/initdb'
2
+ require 'lib/models/weapon_special_quality'
3
+ require 'test/unit'
4
+
5
+ class MyWeaponSpecialQualityTest < Test::Unit::TestCase
6
+ def test_weapon_special_qualitys
7
+ weapon_special_qualitys = WeaponSpecialQuality.find(:all)
8
+ assert_not_equal(weapon_special_qualitys.size, 0)
9
+ end
10
+ end
metadata ADDED
@@ -0,0 +1,141 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: wxrcg
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Nevynxxx
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-10-14 00:00:00 +01:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: sqlite3-ruby
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: activerecord
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: "0"
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: wxruby-ruby19
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 2.0.0
44
+ version:
45
+ description: Describe your gem
46
+ email: nevyn@anferny.me.uk
47
+ executables:
48
+ - stats
49
+ - dm_screen
50
+ - weapon_add
51
+ extensions: []
52
+
53
+ extra_rdoc_files:
54
+ - LICENSE
55
+ - README.md
56
+ files:
57
+ - .gitignore
58
+ - LICENSE
59
+ - README.md
60
+ - Rakefile
61
+ - VERSION
62
+ - bin/dm_screen
63
+ - bin/stats
64
+ - bin/weapon_add
65
+ - config/database.yml
66
+ - db/development.sqlite
67
+ - db/development.sqlite3
68
+ - db/sqlite scripts/create_armours.sql
69
+ - db/sqlite scripts/create_categories.sql
70
+ - db/sqlite scripts/create_characters.sql
71
+ - db/sqlite scripts/create_races.sql
72
+ - db/sqlite scripts/create_weapons.sql
73
+ - db/sqlite scripts/critical.sql
74
+ - db/sqlite scripts/damage.sql
75
+ - db/sqlite scripts/damage_type.sql
76
+ - db/sqlite scripts/encumbrance_type.sql
77
+ - db/sqlite scripts/training_type.sql
78
+ - db/sqlite scripts/weapon_special_qualities_weapons.sql
79
+ - db/test.sqlite
80
+ - lib/character.old.rb
81
+ - lib/controllers/character_controller.rb
82
+ - lib/controllers/dm_screen_controller.rb
83
+ - lib/controllers/weapon_controller.rb
84
+ - lib/initdb.rb
85
+ - lib/models/armour.rb
86
+ - lib/models/character.rb
87
+ - lib/models/critical.rb
88
+ - lib/models/damage.rb
89
+ - lib/models/damage_type.rb
90
+ - lib/models/encumbrance_type.rb
91
+ - lib/models/race.rb
92
+ - lib/models/size.rb
93
+ - lib/models/training_type.rb
94
+ - lib/models/weapon.rb
95
+ - lib/models/weapon_special_quality.rb
96
+ - lib/views/abilities_frame.rb
97
+ - lib/views/char_select_dialog.rb
98
+ - lib/views/dm_screen_frame.rb
99
+ - lib/views/weapon_screen_frame.rb
100
+ - log/.keep_me
101
+ - tests/armour_model_test.rb
102
+ - tests/character_model_test.rb
103
+ - tests/critical_model_test.rb
104
+ - tests/damage_model_test.rb
105
+ - tests/damage_type_model_test.rb
106
+ - tests/encumbrance_type_model_test.rb
107
+ - tests/race_model_test.rb
108
+ - tests/size_model_test.rb
109
+ - tests/training_type_model_test.rb
110
+ - tests/weapon_model_test.rb
111
+ - tests/weapon_special_quality_model_test.rb
112
+ has_rdoc: true
113
+ homepage: http://codaset.com/nevynxxx/wxrcg#
114
+ licenses: []
115
+
116
+ post_install_message:
117
+ rdoc_options:
118
+ - --charset=UTF-8
119
+ require_paths:
120
+ - lib
121
+ required_ruby_version: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: "0"
126
+ version:
127
+ required_rubygems_version: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: "0"
132
+ version:
133
+ requirements: []
134
+
135
+ rubyforge_project:
136
+ rubygems_version: 1.3.5
137
+ signing_key:
138
+ specification_version: 3
139
+ summary: Some basic tools for helping DMs/players run PathfinderRPG games.
140
+ test_files: []
141
+