diff --git a/pokedex/data/csv/type_efficacy.csv b/pokedex/data/csv/type_efficacy.csv
index f768ce6..057f025 100644
--- a/pokedex/data/csv/type_efficacy.csv
+++ b/pokedex/data/csv/type_efficacy.csv
@@ -1,325 +1,126 @@
-damage_type_id,target_type_id,damage_factor
-1,1,100
-1,2,100
-1,3,100
-1,4,100
-1,5,100
-1,6,50
-1,7,100
-1,8,0
-1,9,50
-1,10,100
-1,11,100
-1,12,100
-1,13,100
-1,14,100
-1,15,100
-1,16,100
-1,17,100
-1,18,100
-2,1,200
-2,2,100
-2,3,50
-2,4,50
-2,5,100
-2,6,200
-2,7,50
-2,8,0
-2,9,200
-2,10,100
-2,11,100
-2,12,100
-2,13,100
-2,14,50
-2,15,200
-2,16,100
-2,17,200
-2,18,50
-3,1,100
-3,2,200
-3,3,100
-3,4,100
-3,5,100
-3,6,50
-3,7,200
-3,8,100
-3,9,50
-3,10,100
-3,11,100
-3,12,200
-3,13,50
-3,14,100
-3,15,100
-3,16,100
-3,17,100
-3,18,100
-4,1,100
-4,2,100
-4,3,100
-4,4,50
-4,5,50
-4,6,50
-4,7,100
-4,8,50
-4,9,0
-4,10,100
-4,11,100
-4,12,200
-4,13,100
-4,14,100
-4,15,100
-4,16,100
-4,17,100
-4,18,200
-5,1,100
-5,2,100
-5,3,0
-5,4,200
-5,5,100
-5,6,200
-5,7,50
-5,8,100
-5,9,200
-5,10,200
-5,11,100
-5,12,50
-5,13,200
-5,14,100
-5,15,100
-5,16,100
-5,17,100
-5,18,100
-6,1,100
-6,2,50
-6,3,200
-6,4,100
-6,5,50
-6,6,100
-6,7,200
-6,8,100
-6,9,50
-6,10,200
-6,11,100
-6,12,100
-6,13,100
-6,14,100
-6,15,200
-6,16,100
-6,17,100
-6,18,100
-7,1,100
-7,2,50
-7,3,50
-7,4,50
-7,5,100
-7,6,100
-7,7,100
-7,8,50
-7,9,50
-7,10,50
-7,11,100
-7,12,200
-7,13,100
-7,14,200
-7,15,100
-7,16,100
-7,17,200
-7,18,50
-8,1,0
-8,2,100
-8,3,100
-8,4,100
-8,5,100
-8,6,100
-8,7,100
-8,8,200
-8,9,100
-8,10,100
-8,11,100
-8,12,100
-8,13,100
-8,14,200
-8,15,100
-8,16,100
-8,17,50
-8,18,100
-9,1,100
-9,2,100
-9,3,100
-9,4,100
-9,5,100
-9,6,200
-9,7,100
-9,8,100
-9,9,50
-9,10,50
-9,11,50
-9,12,100
-9,13,50
-9,14,100
-9,15,200
-9,16,100
-9,17,100
-9,18,200
-10,1,100
-10,2,100
-10,3,100
-10,4,100
-10,5,100
-10,6,50
-10,7,200
-10,8,100
-10,9,200
-10,10,50
-10,11,50
-10,12,200
-10,13,100
-10,14,100
-10,15,200
-10,16,50
-10,17,100
-10,18,100
-11,1,100
-11,2,100
-11,3,100
-11,4,100
-11,5,200
-11,6,200
-11,7,100
-11,8,100
-11,9,100
-11,10,200
-11,11,50
-11,12,50
-11,13,100
-11,14,100
-11,15,100
-11,16,50
-11,17,100
-11,18,100
-12,1,100
-12,2,100
-12,3,50
-12,4,50
-12,5,200
-12,6,200
-12,7,50
-12,8,100
-12,9,50
-12,10,50
-12,11,200
-12,12,50
-12,13,100
-12,14,100
-12,15,100
-12,16,50
-12,17,100
-12,18,100
-13,1,100
-13,2,100
-13,3,200
-13,4,100
-13,5,0
-13,6,100
-13,7,100
-13,8,100
-13,9,100
-13,10,100
-13,11,200
-13,12,50
-13,13,50
-13,14,100
-13,15,100
-13,16,50
-13,17,100
-13,18,100
-14,1,100
-14,2,200
-14,3,100
-14,4,200
-14,5,100
-14,6,100
-14,7,100
-14,8,100
-14,9,50
-14,10,100
-14,11,100
-14,12,100
-14,13,100
-14,14,50
-14,15,100
-14,16,100
-14,17,0
-14,18,100
-15,1,100
-15,2,100
-15,3,200
-15,4,100
-15,5,200
-15,6,100
-15,7,100
-15,8,100
-15,9,50
-15,10,50
-15,11,50
-15,12,200
-15,13,100
-15,14,100
-15,15,50
-15,16,200
-15,17,100
-15,18,100
-16,1,100
-16,2,100
-16,3,100
-16,4,100
-16,5,100
-16,6,100
-16,7,100
-16,8,100
-16,9,50
-16,10,100
-16,11,100
-16,12,100
-16,13,100
-16,14,100
-16,15,100
-16,16,200
-16,17,100
-16,18,0
-17,1,100
-17,2,50
-17,3,100
-17,4,100
-17,5,100
-17,6,100
-17,7,100
-17,8,200
-17,9,100
-17,10,100
-17,11,100
-17,12,100
-17,13,100
-17,14,200
-17,15,100
-17,16,100
-17,17,50
-17,18,50
-18,1,100
-18,2,200
-18,3,100
-18,4,50
-18,5,100
-18,6,100
-18,7,100
-18,8,100
-18,9,50
-18,10,50
-18,11,100
-18,12,100
-18,13,100
-18,14,100
-18,15,100
-18,16,200
-18,17,200
-18,18,100
+damage_type_id,target_type_id,damage_modifier,first_generation_id,last_generation_id
+1,8,0,1,
+1,9,50,2,
+1,6,50,1,
+10,6,50,1,
+10,9,200,2,
+10,16,50,1,
+10,15,200,1,
+10,12,200,1,
+10,11,50,1,
+10,10,50,1,
+10,7,200,1,
+11,6,200,1,
+11,5,200,1,
+11,16,50,1,
+11,12,50,1,
+11,11,50,1,
+11,10,200,1,
+12,10,50,1,
+12,7,50,1,
+12,6,200,1,
+12,5,200,1,
+12,4,50,1,
+12,3,50,1,
+12,16,50,1,
+12,12,50,1,
+12,9,50,2,
+12,11,200,1,
+13,11,200,1,
+13,3,200,1,
+13,16,50,1,
+13,13,50,1,
+13,12,50,1,
+13,5,0,1,
+14,9,50,2,
+14,14,50,1,
+14,17,0,2,
+14,2,200,1,
+14,4,200,1,
+15,9,50,2,
+15,10,50,2,
+15,3,200,1,
+15,5,200,1,
+15,11,50,1,
+15,12,200,1,
+15,15,50,1,
+15,16,200,1,
+16,16,200,1,
+16,9,50,2,
+16,18,0,6,
+17,17,50,2,
+17,18,50,6,
+17,9,50,2,5
+17,2,50,2,
+17,8,200,2,
+17,14,200,2,
+18,17,200,6,
+18,9,50,6,
+18,16,200,6,
+18,10,50,6,
+18,2,200,6,
+18,4,50,6,
+2,15,200,1,
+2,14,50,1,
+2,8,0,1,
+2,7,50,1,
+2,9,200,2,
+2,18,50,6,
+2,17,200,2,
+2,6,200,1,
+2,4,50,1,
+2,3,50,1,
+2,1,200,1,
+3,9,50,2,
+3,2,200,1,
+3,6,50,1,
+3,7,200,1,
+3,12,200,1,
+3,13,50,1,
+4,18,200,6,
+4,4,50,1,
+4,5,50,1,
+4,6,50,1,
+4,8,50,1,
+4,12,200,1,
+4,9,0,2,
+4,7,200,1,1
+5,3,0,1,
+5,12,50,1,
+5,13,200,1,
+5,4,200,1,
+5,10,200,1,
+5,6,200,1,
+5,7,50,1,
+5,9,200,2,
+6,7,200,1,
+6,9,50,2,
+6,15,200,1,
+6,10,200,1,
+6,3,200,1,
+6,5,50,1,
+6,2,50,1,
+7,9,50,2,
+7,4,50,2,
+7,14,200,1,
+7,12,200,1,
+7,17,200,2,
+7,10,50,1,
+7,8,50,1,
+7,3,50,1,
+7,2,50,1,
+7,18,50,6,
+7,4,200,1,1
+8,14,200,2,
+8,1,0,1,
+8,8,200,1,
+8,9,50,2,5
+8,14,0,1,1
+8,17,50,2,
+9,11,50,2,
+9,10,50,2,
+9,6,200,2,
+9,9,50,2,
+9,15,200,2,
+9,18,200,6,
+9,13,50,2,