Changeset 429 for veekun/trunk/lib/Vee/Controller
- Timestamp:
- 04/27/08 20:49:18 (23 months ago)
- Files:
-
- 1 modified
-
veekun/trunk/lib/Vee/Controller/Dex/Utils.pm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
veekun/trunk/lib/Vee/Controller/Dex/Utils.pm
r428 r429 247 247 # XXX do the retrievals in Inflator code 248 248 my $pokemon = $c->model('DBIC::Pokemon')->find($form->param_value('pokemon')); 249 warn join '|', $form->param_list('move');250 249 my @moves = map { $c->model('DBIC::Moves')->find($_) } $form->param_list('move'); 251 250 … … 253 252 my $version = 'dp'; 254 253 254 ### Misc error handling 255 256 if ($pokemon->breeding_code == 255) { 257 $s->{error_msg} = $pokemon->name . ' cannot breed.'; 258 return; 259 } 260 261 my @unlearnable_moves; 262 for my $move (@moves) { 263 my $method = $pokemon->move_method_string($move, $version); 264 if (not $method) { 265 push @unlearnable_moves, $move; 266 } 267 } 268 if (@unlearnable_moves) { 269 my @move_names = map { $_->name } @unlearnable_moves; 270 if (@move_names > 2) { 271 $move_names[-1] = 'or ' . $move_names[-1]; 272 } 273 $s->{error_msg} = $pokemon->name . " cannot inherit " 274 . join(', ', @move_names) . '.'; 275 return; 276 } 277 278 # Find potential members of the genealogy 255 279 my @learners = $c->model('DBIC::Pokemon')->search( { 256 280 -or => [ { 281 -nest => \ "FIND_IN_SET('dp', pokemon_moves.versions)", 257 282 'pokemon_moves.move_id' => $moves[0]->id, 258 283 'pokemon_moves.method' => [qw[ level egg machine ]], 259 -nest => \ "FIND_IN_SET('dp', pokemon_moves.versions)", 260 # 'pokemon.gender_rate' => $gender_restriction, 284 'gender_rate' => { -not_in => [ 0, 254, 255 ] }, 261 285 }, { 262 286 # Smeargle can, technically, learn anything
