wxrcg 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/Rakefile +4 -27
- data/VERSION +1 -1
- data/bin/wxrcg +20 -0
- data/db/csv/characters.csv +4 -0
- data/db/csv/weapon_special_qualities_weapons.csv +8 -0
- data/db/csv/weapons.csv +21 -0
- data/db/development.sqlite +0 -0
- data/db/migrate/2009101820235900_create_weapon_special_qualities_weapons.rb +21 -0
- data/db/migrate/2009101820235901_create_characters.rb +27 -0
- data/db/migrate/2009101820235902_create_weapons.rb +21 -0
- data/db/migrate/2009101820235903_create_critical.rb +19 -0
- data/db/migrate/2009101820235904_create_encumbrance_type.rb +16 -0
- data/db/migrate/2009101820235905_create_categories.rb +18 -0
- data/db/migrate/2009101820235906_create_training_type.rb +15 -0
- data/db/migrate/2009101820235908_create_damage.rb +28 -0
- data/db/migrate/2009101820235909_create_damage_type.rb +21 -0
- data/db/migrate/2009101820235911_create_races.rb +26 -0
- data/db/migrate/2009101820235912_create_armours.rb +23 -0
- data/db/migrate/20091021094104_create_class_levels.rb +21 -0
- data/db/migrate/20091024124832_create_sizes.rb +21 -0
- data/db/migrate/20091025152901_add_characters_class_levels.rb +12 -0
- data/db/populate/90011024124832_populate_weapons.rb +37 -0
- data/db/populate/90091024173652_populate_characters.rb +31 -0
- data/db/populate/90091028112137_populate_class_levels.rb +46 -0
- data/lib/annotate_models.rb +139 -0
- data/lib/initdb.rb +45 -19
- data/lib/models/armour.rb +18 -0
- data/lib/models/category.rb +11 -0
- data/lib/models/character.rb +39 -3
- data/lib/models/class_level.rb +18 -0
- data/lib/models/class_level_special_quality.rb +2 -0
- data/lib/models/critical.rb +10 -0
- data/lib/models/damage.rb +10 -0
- data/lib/models/damage_type.rb +10 -0
- data/lib/models/encumbrance_type.rb +9 -0
- data/lib/models/race.rb +16 -0
- data/lib/models/size.rb +11 -0
- data/lib/models/training_type.rb +9 -0
- data/lib/models/weapon.rb +20 -1
- data/lib/models/weapon_special_quality.rb +9 -0
- data/lib/views/level_frame.rb +87 -0
- data/lib/views/weapon_screen_frame.rb +1 -1
- data/tasks/annotate_models_tasks.rake +6 -0
- data/tasks/databases.rake +48 -0
- data/tasks/documentation.rake +11 -0
- data/tasks/gemcutter.rake +18 -0
- data/tasks/unit_tests.rake +8 -0
- data/tests/class_level_test.rb +8 -0
- metadata +35 -15
- data/db/development.sqlite3 +0 -0
- data/db/sqlite scripts/create_armours.sql +0 -16
- data/db/sqlite scripts/create_categories.sql +0 -10
- data/db/sqlite scripts/create_characters.sql +0 -21
- data/db/sqlite scripts/create_races.sql +0 -9
- data/db/sqlite scripts/create_weapons.sql +0 -16
- data/db/sqlite scripts/critical.sql +0 -12
- data/db/sqlite scripts/damage.sql +0 -21
- data/db/sqlite scripts/damage_type.sql +0 -15
- data/db/sqlite scripts/encumbrance_type.sql +0 -10
- data/db/sqlite scripts/training_type.sql +0 -8
- data/db/sqlite scripts/weapon_special_qualities_weapons.sql +0 -17
- data/lib/character.old.rb +0 -72
data/.gitignore
CHANGED
data/Rakefile
CHANGED
@@ -1,30 +1,7 @@
|
|
1
1
|
require 'rake'
|
2
2
|
require 'rake/testtask'
|
3
|
+
require 'rake/rdoctask'
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
Rake::TestTask.new("test_models") { |t|
|
8
|
-
t.pattern = 'tests/*_model_test.rb'
|
9
|
-
t.verbose = true
|
10
|
-
t.warning = false
|
11
|
-
}
|
12
|
-
begin
|
13
|
-
require 'jeweler'
|
14
|
-
Jeweler::Tasks.new do |gemspec|
|
15
|
-
gemspec.name = "wxrcg"
|
16
|
-
gemspec.summary = "Some basic tools for helping DMs/players run PathfinderRPG games."
|
17
|
-
gemspec.description = "Some basic tools for helping DMs/players run PathfinderRPG games.\nThis project uses trademarks and/or copyrights owned by Paizo Publishing, LLC, which are used under Paizo's Community Use Policy. We are expressly prohibited from charging you to use or access this content. This project is not published, endorsed, or specifically approved by Paizo Publishing. For more information about Paizo's Community Use Policy, please visit paizo.com/communityuse. For more information about Paizo Publishing and Paizo products, please visit paizo.com."
|
18
|
-
gemspec.email = "nevyn@anferny.me.uk"
|
19
|
-
gemspec.homepage = "http://codaset.com/nevynxxx/wxrcg#"
|
20
|
-
gemspec.authors = ["Nevynxxx"]
|
21
|
-
gemspec.add_dependency('sqlite3-ruby')
|
22
|
-
gemspec.add_dependency('activerecord')
|
23
|
-
gemspec.add_dependency('wxruby-ruby19', '>= 2.0.0')
|
24
|
-
|
25
|
-
end
|
26
|
-
Jeweler::GemcutterTasks.new
|
27
|
-
rescue LoadError
|
28
|
-
puts "Jeweler not available. Install it with: sudo gem install jeweler -s http://gems.github.com"
|
29
|
-
end
|
30
|
-
|
5
|
+
# Load rake tasks like rails does
|
6
|
+
root = File.dirname(__FILE__)
|
7
|
+
Dir[File.join(root,"tasks","**","*.rake")].sort.each { |ext| load ext }
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.0
|
data/bin/wxrcg
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
root = File.dirname(__FILE__)
|
3
|
+
require "wx"
|
4
|
+
require File.join(root,"..","lib","initdb.rb")
|
5
|
+
require File.join(root,"..","lib","models","character")
|
6
|
+
require File.join(root,"..","lib","models","class_level")
|
7
|
+
require File.join(root,"..","lib","views","level_frame")
|
8
|
+
require File.join(root,"..","lib","views","char_select_dialog")
|
9
|
+
|
10
|
+
class WxRCG < Wx::App
|
11
|
+
def on_init
|
12
|
+
WxRCG_frame.new(level_list)
|
13
|
+
end
|
14
|
+
|
15
|
+
def level_list
|
16
|
+
ClassLevel.find :all, :group => "class_name"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
WxRCG.new.main_loop
|
@@ -0,0 +1,4 @@
|
|
1
|
+
"id","name","race_id","armour_id","weapon_id","size_id","str","dex","con","int","wis","cha","floating_race_mod","hp","bab"
|
2
|
+
"1","Drogheda","5","1","4","5","14","14","13","13","13","7","str","12","1"
|
3
|
+
"2","Moopara","6","2","4","5","12","12","11","12","11","15","","9","0"
|
4
|
+
"3","Snarf","4","2","4","5","16","10","9","8","8","16","cha","9","0"
|
data/db/csv/weapons.csv
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
"id","name","training_type_id","encumbrance_type_id","damage_id","damage_type_id","damage2_id","critical_id","size_id","cost","range","weight"
|
2
|
+
"2","Quaterstaff","1","4","6","1","6","1","5","","","5"
|
3
|
+
"3","Gunatlet","1","1","4","1","1","1","5","2","","1"
|
4
|
+
"4","Unarmed strike","1","1","4","1","1","1","5","","",""
|
5
|
+
"5","Dagger","1","2","5","6","1","3","5","2","10","1"
|
6
|
+
"6","Dagger, punching","1","2","5","2","1","2","5","2","","1"
|
7
|
+
"7","Guntlet, Spiked","1","2","5","2","1","1","5","5","","1"
|
8
|
+
"8","Mace, Light","1","2","6","1","1","1","5","5","","4"
|
9
|
+
"9","Sickle","1","2","6","3","1","1","5","6","","2"
|
10
|
+
"10","Club","1","3","6","1","1","1","5","","10","3"
|
11
|
+
"11","Mace, heavy","1","3","7","1","1","1","5","12","","8"
|
12
|
+
"12","Morningstar","1","3","7","9","1","1","5","8","","6"
|
13
|
+
"13","Shortspear","1","3","6","2","1","1","5","1","20","3"
|
14
|
+
"14","Longspear","1","4","7","2","1","2","5","5","","9"
|
15
|
+
"15","Spear","1","4","7","2","1","2","5","2","20","6"
|
16
|
+
"16","Blowgun","1","5","3","2","1","1","5","2","20","1"
|
17
|
+
"17","Crossbow, heavy","1","5","8","2","1","3","5","50","120","8"
|
18
|
+
"18","Crossbow, light","1","5","7","2","1","3","5","35","80","4"
|
19
|
+
"19","Dart","1","5","5","2","1","1","5","","20",""
|
20
|
+
"20","Javelin","1","2","6","2","1","1","5","1","30","2"
|
21
|
+
"21","Sling","1","5","5","1","1","1","5","","50",""
|
data/db/development.sqlite
CHANGED
Binary file
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class CreateWeaponSpecialQualitiesWeapons < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :weapon_special_qualities do |t|
|
4
|
+
t.column :name, :string, :null => false
|
5
|
+
end
|
6
|
+
|
7
|
+
create_table :weapon_special_qualities_weapons, :id => false do |t|
|
8
|
+
t.column :weapon_special_quality_id, :integer, :null => false
|
9
|
+
t.column :weapon_id, :integer, :null => false
|
10
|
+
end
|
11
|
+
|
12
|
+
qs = ["Non-Lethal","Brace","Trip","Monks","Double","Reach"]
|
13
|
+
|
14
|
+
qs.each{|q| WeaponSpecialQuality.create(:name => q)}
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.down
|
18
|
+
drop_table :weapon_special_qualities
|
19
|
+
drop_table :weapon_special_qualities_weapons
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
class CreateCharacters < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :characters do |t|
|
4
|
+
t.column :name, :string, :null => false
|
5
|
+
t.column :race_id, :integer
|
6
|
+
t.column :armour_id, :integer
|
7
|
+
t.column :weapon_id, :integer
|
8
|
+
t.column :size_id, :integer
|
9
|
+
t.column :str, :integer
|
10
|
+
t.column :dex, :integer
|
11
|
+
t.column :con, :integer
|
12
|
+
t.column :int, :integer
|
13
|
+
t.column :wis, :integer
|
14
|
+
t.column :cha, :integer
|
15
|
+
t.column :floating_race_mod, :string
|
16
|
+
t.column :hp, :integer
|
17
|
+
t.column :bab, :integer
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.down
|
22
|
+
drop_table :characters
|
23
|
+
end
|
24
|
+
end
|
25
|
+
#insert into characters values (NULL,'Drogheda',5,1,1,5,14,14,13,13,13,7,'str',12,1);
|
26
|
+
#insert into characters values (NULL,'Moopara',6,2,1,5,12,12,11,12,11,15,NULL,9,0);
|
27
|
+
#insert into characters values (NULL,'Snarf',4,2,1,5,16,10,9,8,8,16,'cha',9,0);
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class CreateWeapons < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :weapons do |t|
|
4
|
+
t.column :name, :string, :null => false
|
5
|
+
t.column :training_type_id, :integer
|
6
|
+
t.column :encumbrance_type_id, :integer
|
7
|
+
t.column :damage_id, :integer
|
8
|
+
t.column :damage_type_id, :integer
|
9
|
+
t.column :damage2_id, :integer
|
10
|
+
t.column :critical_id, :integer
|
11
|
+
t.column :size_id, :integer
|
12
|
+
t.column :cost, :integer
|
13
|
+
t.column :range, :integer
|
14
|
+
t.column :weight, :integer
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.down
|
19
|
+
drop_table :weapons
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class CreateCritical < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :criticals do |t|
|
4
|
+
t.column :range, :string
|
5
|
+
t.column :multiplier, :integer
|
6
|
+
end
|
7
|
+
|
8
|
+
Critical.create(:range =>nil,:multiplier =>2)
|
9
|
+
Critical.create(:range =>nil,:multiplier =>3)
|
10
|
+
Critical.create(:range =>'19-20',:multiplier =>2)
|
11
|
+
Critical.create(:range =>'19-20',:multiplier =>3)
|
12
|
+
Critical.create(:range =>'18-20',:multiplier =>2)
|
13
|
+
Critical.create(:range =>'18-20',:multiplier =>3)
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.down
|
17
|
+
drop_table :criticals
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class CreateEncumbranceType < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :encumbrance_types do |t|
|
4
|
+
t.column :name, :string, :null => false
|
5
|
+
end
|
6
|
+
EncumbranceType.create(:name => 'Unarmed');
|
7
|
+
EncumbranceType.create(:name => 'Light');
|
8
|
+
EncumbranceType.create(:name => 'One-Handed');
|
9
|
+
EncumbranceType.create(:name => 'Two-Handed');
|
10
|
+
EncumbranceType.create(:name => 'Ranged');
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.down
|
14
|
+
drop_table :encumbrance_types
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CreateCategories < ActiveRecord::Migration
|
2
|
+
|
3
|
+
def self.up
|
4
|
+
create_table :categories do |t|
|
5
|
+
t.column :name, :string
|
6
|
+
end
|
7
|
+
|
8
|
+
Category.create(:name => "Light")
|
9
|
+
Category.create(:name => "Medium")
|
10
|
+
Category.create(:name => "Heavy")
|
11
|
+
Category.create(:name => "Shields")
|
12
|
+
Category.create(:name => "Extras")
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.down
|
16
|
+
drop_table :categories
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class CreateTrainingType < ActiveRecord::Migration
|
2
|
+
|
3
|
+
def self.up
|
4
|
+
create_table :training_types do |t|
|
5
|
+
t.column :name, :string
|
6
|
+
end
|
7
|
+
TrainingType.create(:name=>'Simple')
|
8
|
+
TrainingType.create(:name=>'Martial')
|
9
|
+
TrainingType.create(:name=>'Exotic')
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.down
|
13
|
+
drop_table :training_types
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
class CreateDamage < ActiveRecord::Migration
|
2
|
+
|
3
|
+
def self.up
|
4
|
+
create_table :damages do |t|
|
5
|
+
t.column :no, :integer
|
6
|
+
t.column :sides, :integer
|
7
|
+
end
|
8
|
+
Damage.create( :no => 0, :sides => 0);
|
9
|
+
Damage.create( :no => 1, :sides => 1);
|
10
|
+
Damage.create( :no => 1, :sides => 2);
|
11
|
+
Damage.create( :no => 1, :sides => 3);
|
12
|
+
Damage.create( :no => 1, :sides => 4);
|
13
|
+
Damage.create( :no => 1, :sides => 6);
|
14
|
+
Damage.create( :no => 1, :sides => 8);
|
15
|
+
Damage.create( :no => 1, :sides => 10);
|
16
|
+
Damage.create( :no => 1, :sides => 12);
|
17
|
+
Damage.create( :no => 2, :sides => 4);
|
18
|
+
Damage.create( :no => 2, :sides => 6);
|
19
|
+
Damage.create( :no => 2, :sides => 8);
|
20
|
+
Damage.create( :no => 3, :sides => 6);
|
21
|
+
Damage.create( :no => 3, :sides => 8);
|
22
|
+
Damage.create( :no => 4, :sides => 8);
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.down
|
26
|
+
drop_table :damages
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class CreateDamageType < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :damage_types do |t|
|
4
|
+
t.column :name, :string
|
5
|
+
t.column :code, :string
|
6
|
+
end
|
7
|
+
DamageType.create(:name => 'Bludgeoning', :code =>'B')
|
8
|
+
DamageType.create(:name => 'Piercing', :code =>'P')
|
9
|
+
DamageType.create(:name => 'Slashing', :code =>'S')
|
10
|
+
DamageType.create(:name => 'Bludgeoning or Slashing', :code =>'B or S')
|
11
|
+
DamageType.create(:name => 'Bludgeoning and Slashing', :code =>'B & S')
|
12
|
+
DamageType.create(:name => 'Piercing or Slashing', :code =>'P or S')
|
13
|
+
DamageType.create(:name => 'Piercing and Slashing', :code =>'P & S')
|
14
|
+
DamageType.create(:name => 'Bludgeoning or Piercing', :code =>'B or P')
|
15
|
+
DamageType.create(:name => 'Bludgeoning and Piercing', :code =>'B & P')
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.down
|
19
|
+
drop_table :damage_types
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
class CreateRaces < ActiveRecord::Migration
|
2
|
+
|
3
|
+
def self.up
|
4
|
+
create_table :races do |t|
|
5
|
+
t.column :name, :string
|
6
|
+
t.column :str_mod, :integer, :default => 0
|
7
|
+
t.column :dex_mod, :integer, :default => 0
|
8
|
+
t.column :con_mod, :integer, :default => 0
|
9
|
+
t.column :int_mod, :integer, :default => 0
|
10
|
+
t.column :wis_mod, :integer, :default => 0
|
11
|
+
t.column :cha_mod, :integer, :default => 0
|
12
|
+
t.column :any, :boolean, :default => false
|
13
|
+
end
|
14
|
+
Race.create(:name=>"Dwarf",:con_mod=>2,:wis_mod=>2,:cha_mod=>-2)
|
15
|
+
Race.create(:name=>"Elf",:dex_mod=>2,:con_mod=>-2,:int_mod=>2)
|
16
|
+
Race.create(:name=>"Gnome",:str_mod=>-2,:con_mod=>2,:cha_mod=>2)
|
17
|
+
Race.create(:name=>"Half-Elf",:any=> true)
|
18
|
+
Race.create(:name=>"Half-Orc",:any=> true)
|
19
|
+
Race.create(:name=>"Halfling",:str_mod=>-2,:dex_mod=>2,:wis_mod=>2)
|
20
|
+
Race.create(:name=>"Human",:any=> true)
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.down
|
24
|
+
drop_table :races
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class CreateArmours < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :armours do |t|
|
4
|
+
t.column :name, :string
|
5
|
+
t.column :category_id, :integer
|
6
|
+
t.column :cost, :integer
|
7
|
+
t.column :bonus, :integer
|
8
|
+
t.column :max_dex, :integer
|
9
|
+
t.column :check_pen, :integer
|
10
|
+
t.column :spell_fail, :integer
|
11
|
+
t.column :speed_30, :integer
|
12
|
+
t.column :speed_20, :integer
|
13
|
+
t.column :weight, :integer
|
14
|
+
end
|
15
|
+
Armour.create( :name =>'Hide',:category_id=>2,:cost=>15,:bonus=>4,
|
16
|
+
:max_dex=>4,:check_pen=>-3,:spell_fail=>20,:speed_30=>20,:speed_20=>15,:weight=>25);
|
17
|
+
Armour.create( :name =>'None')
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.down
|
21
|
+
drop_table :armours
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class CreateClassLevels < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :class_levels do |t|
|
4
|
+
t.column :class_name, :string
|
5
|
+
t.column :level, :integer
|
6
|
+
t.column :bab, :integer
|
7
|
+
t.column :fort, :integer
|
8
|
+
t.column :ref, :integer
|
9
|
+
t.column :will, :integer
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
create_table :class_level_special_qualities do |t|
|
13
|
+
t.column name, :string
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.down
|
18
|
+
drop_table :class_levels
|
19
|
+
drop_table :class_level_special_qualities
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class CreateSizes < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :sizes do |t|
|
4
|
+
t.column :name, :string
|
5
|
+
t.timestamps
|
6
|
+
end
|
7
|
+
Size.create(:name=>'Fine')
|
8
|
+
Size.create(:name=>'Diminutive')
|
9
|
+
Size.create(:name=>'Tiny')
|
10
|
+
Size.create(:name=>'Small')
|
11
|
+
Size.create(:name=>'Medium')
|
12
|
+
Size.create(:name=>'Large')
|
13
|
+
Size.create(:name=>'Huge')
|
14
|
+
Size.create(:name=>'Gargantuan')
|
15
|
+
Size.create(:name=>'Colossal')
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.down
|
19
|
+
drop_table :sizes
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class AddCharactersClassLevels < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :characters_class_levels, :id => false do |t|
|
4
|
+
t.column :character_id, :integer
|
5
|
+
t.column :class_level_id, :integer
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.down
|
10
|
+
delete_table :characters_class_levels
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
class PopulateWeapons < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
self.down
|
4
|
+
source = File.join(WXRCG_ROOT,"db","csv","weapons.csv")
|
5
|
+
puts "Populating Weapons"
|
6
|
+
CSV.foreach(source, headers: true) do |row|
|
7
|
+
values = {
|
8
|
+
:name => row[1],
|
9
|
+
:training_type_id => row[2],
|
10
|
+
:encumbrance_type_id => row[3],
|
11
|
+
:damage_id => row[4],
|
12
|
+
:damage_type_id=> row[5],
|
13
|
+
:damage2_id => row[6],
|
14
|
+
:critical_id => row[7],
|
15
|
+
:size_id => row[8],
|
16
|
+
:cost => row[9],
|
17
|
+
:range => row[10],
|
18
|
+
:weight=> row[11]}
|
19
|
+
|
20
|
+
Weapon.create(values)
|
21
|
+
|
22
|
+
end
|
23
|
+
source = File.join(WXRCG_ROOT,"db","csv","weapon_special_qualities_weapons.csv")
|
24
|
+
puts "Populating Weapon special qualities"
|
25
|
+
CSV.foreach(source, headers: true) do |row|
|
26
|
+
puts "#{row[1]},#{row[0]}"
|
27
|
+
weapon = Weapon.find(row[1])
|
28
|
+
quality = WeaponSpecialQuality.find(row[0])
|
29
|
+
puts"Weapon: #{weapon.name}, Quality: #{quality.name}"
|
30
|
+
weapon.has_quality=quality
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.down
|
35
|
+
Weapon.destroy_all
|
36
|
+
end
|
37
|
+
end
|