diff options
author | Darshan Shaligram <dshaligram@users.sourceforge.net> | 2010-01-04 22:08:57 +0530 |
---|---|---|
committer | Darshan Shaligram <dshaligram@users.sourceforge.net> | 2010-01-04 22:48:24 +0530 |
commit | b1ee54b1fe15e89838f70a64bedd9899b8fb3119 (patch) | |
tree | 6b656bb024a13992afa95037574ec2192f7bfdf4 /crawl-ref/source/util | |
parent | a9610912e739807730c57a5f059e1158c4a496f5 (diff) | |
download | crawl-ref-b1ee54b1fe15e89838f70a64bedd9899b8fb3119.tar.gz crawl-ref-b1ee54b1fe15e89838f70a64bedd9899b8fb3119.zip |
Move to a more compile-safe way of defining species skill aptitudes.
This also fixes broken aptitudes after Darts skill was removed.
Diffstat (limited to 'crawl-ref/source/util')
-rwxr-xr-x | crawl-ref/source/util/gen-apt.pl | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/crawl-ref/source/util/gen-apt.pl b/crawl-ref/source/util/gen-apt.pl index a327ef61bc..6134b89152 100755 --- a/crawl-ref/source/util/gen-apt.pl +++ b/crawl-ref/source/util/gen-apt.pl @@ -184,24 +184,23 @@ sub load_aptitudes { while (<$inf>) { last if /\*{40,}/; if (!$seen_skill_start) { - $seen_skill_start = 1 if /spec_skills\[/; + $seen_skill_start = 1 if /species_skill_aptitudes\[/; } else { - if (m{//\s*SP_(\w+)\s*$}) { + if (/APT\(\s*SP_(\w+)\s*,\s*SK_(\w+)\s*,\s*(\d+)\s*\)/) { $species = propercase_string(fix_underscores($1)); - die "$skillfile:$.: Repeated skill def for $species.\n" - if $SEEN_SPECIES{$species}; - $SEEN_SPECIES{$species} = 1; - push @SPECIES, $species; - } - if (m{//\s*SK_(\w+)\s*$} && /^\s*\d+/) { - m{//\s*SK_(\w+)\s*$}; - my $skill = skill_name($1); + if (!$SEEN_SPECIES{$species}) { + $SEEN_SPECIES{$species} = 1; + push @SPECIES, $species; + } + + my $apt = $3; + my $skill = skill_name($2); die "$skillfile:$.: Unknown skill: $skill\n" unless $SKILL_ABBR{$skill}; die "$skillfile:$.: Repeated skill def $1 for $species.\n" if $SPECIES_SKILLS{$species}{$skill}; - ($SPECIES_SKILLS{$species}{$skill}) = /^\s*(\d+)/; + ($SPECIES_SKILLS{$species}{$skill}) = $apt; } } } |