Added rarity to generated extended cards. (fixes issue 181)

This commit is contained in:
North 2011-07-14 23:44:56 +03:00
parent 85ff6ed2a3
commit a38d978ee6
3 changed files with 34 additions and 17 deletions

View file

@ -27,7 +27,7 @@
*/ */
package mage.sets.[=$set=]; package mage.sets.[=$set=];
import java.util.UUID; import java.util.UUID;[= if ($rarityExtended) {$OUT .= "\nimport mage.Constants.Rarity;"}=]
/** /**
* *
@ -38,7 +38,7 @@ public class [=$className=] extends mage.sets.[=$baseSet=].[=$baseClassName=] {
public [=$className=](UUID ownerId) { public [=$className=](UUID ownerId) {
super(ownerId); super(ownerId);
this.cardNumber = [=$cardNumber=]; this.cardNumber = [=$cardNumber=];
this.expansionSetCode = "[=$expansionSetCode=]"; this.expansionSetCode = "[=$expansionSetCode=]";[=$rarityExtended=]
} }
public [=$className=](final [=$className=] card) { public [=$className=](final [=$className=] card) {

View file

@ -98,19 +98,20 @@ $vars{'name'} = $cardName;
$vars{'className'} = getClassName($cardName); $vars{'className'} = getClassName($cardName);
print "Files generated:\n"; print "Files generated:\n";
my $baseSet = ''; my $baseRarity = '';
foreach my $setName (keys %{$cards{$cardName}}) { foreach my $setName (keys %{$cards{$cardName}}) {
if (exists $knownSets{$setName}) { if (exists $knownSets{$setName}) {
my $fileName = "../Mage.Sets/src/mage/sets/" . $knownSets{$setName} . "/" . getClassName($cardName) . ".java"; my $fileName = "../Mage.Sets/src/mage/sets/" . $knownSets{$setName} . "/" . getClassName($cardName) . ".java";
my $result; my $result;
$vars{'set'} = $knownSets{$setName}; $vars{'set'} = $knownSets{$setName};
$vars{'expansionSetCode'} = $sets{$setName}; $vars{'expansionSetCode'} = $sets{$setName};
$vars{'cardNumber'} = $cards{$cardName}{$setName}[2]; $vars{'cardNumber'} = $cards{$cardName}{$setName}[2];
$vars{'rarity'} = $raritiesConversion{$cards{$cardName}{$setName}[3]}; $vars{'rarity'} = $raritiesConversion{$cards{$cardName}{$setName}[3]};
if (!$baseSet) { if (!$baseRarity) {
$baseSet = $knownSets{$setName}; $baseRarity = $cards{$cardName}{$setName}[3];
$vars{'manaCost'} = $cards{$cardName}{$setName}[4]; $vars{'manaCost'} = $cards{$cardName}{$setName}[4];
$vars{'power'} = $cards{$cardName}{$setName}[6]; $vars{'power'} = $cards{$cardName}{$setName}[6];
$vars{'toughness'} = $cards{$cardName}{$setName}[7]; $vars{'toughness'} = $cards{$cardName}{$setName}[7];
@ -140,18 +141,23 @@ foreach my $setName (keys %{$cards{$cardName}}) {
foreach my $color (keys %colors) { foreach my $color (keys %colors) {
$vars{'colors'} .= "\n this.color.set$color(true);"; $vars{'colors'} .= "\n this.color.set$color(true);";
} }
$vars{'baseSet'} = $vars{'set'}; $vars{'baseSet'} = $vars{'set'};
$vars{'baseClassName'} = $vars{'className'}; $vars{'baseClassName'} = $vars{'className'};
$result = $template->fill_in(HASH => \%vars); $result = $template->fill_in(HASH => \%vars);
} else { } else {
$vars{'rarityExtended'} = '';
if ($baseRarity ne $cards{$cardName}{$setName}[3]) {
$vars{'rarityExtended'} = "\n this.rarity = Rarity.$raritiesConversion{$cards{$cardName}{$setName}[3]};\n";
}
$result = $templateExtended->fill_in(HASH => \%vars); $result = $templateExtended->fill_in(HASH => \%vars);
} }
open CARD, "> $fileName"; open CARD, "> $fileName";
print CARD $result; print CARD $result;
close CARD; close CARD;
print "$fileName\n"; print "$fileName\n";
} }
} }

View file

@ -41,7 +41,7 @@ open (DATA, $dataFile) || die "can't open $dataFile";
while(my $line = <DATA>) { while(my $line = <DATA>) {
my @data = split('\\|', $line); my @data = split('\\|', $line);
$cards{$data[0]}{$data[1]} = \@data; $cards{$data[0]}{$data[1]} = \@data;
if ($data[1] eq $setName) { if ($data[1] eq $setName) {
push(@setCards, $data[0]); push(@setCards, $data[0]);
} }
@ -62,6 +62,12 @@ while(my $line = <DATA>) {
} }
close(DATA); close(DATA);
my %raritiesConversion;
$raritiesConversion{'C'} = 'COMMON';
$raritiesConversion{'U'} = 'UNCOMMON';
$raritiesConversion{'R'} = 'RARE';
$raritiesConversion{'M'} = 'MYTHIC';
# Generate the cards # Generate the cards
my %vars; my %vars;
@ -73,21 +79,26 @@ print "Files generated:\n";
foreach my $cardName (@setCards) { foreach my $cardName (@setCards) {
my $className = getClassName($cardName); my $className = getClassName($cardName);
my $currentFileName = "../Mage.Sets/src/mage/sets/" . $knownSets{$setName} . "/" . $className . ".java"; my $currentFileName = "../Mage.Sets/src/mage/sets/" . $knownSets{$setName} . "/" . $className . ".java";
if(! -e $currentFileName) { if(! -e $currentFileName) {
$vars{'className'} = $className; $vars{'className'} = $className;
$vars{'cardNumber'} = $cards{$cardName}{$setName}[2]; $vars{'cardNumber'} = $cards{$cardName}{$setName}[2];
my $found = 0; my $found = 0;
foreach my $key (keys %{$cards{$cardName}}) { foreach my $keySet (keys %{$cards{$cardName}}) {
if (exists $knownSets{$key} && $found eq 0) { if (exists $knownSets{$keySet} && $found eq 0) {
my $fileName = "../Mage.Sets/src/mage/sets/" . $knownSets{$key} . "/" . $className . ".java"; my $fileName = "../Mage.Sets/src/mage/sets/" . $knownSets{$keySet} . "/" . $className . ".java";
if(-e $fileName) { if(-e $fileName) {
open (DATA, $fileName); open (DATA, $fileName);
while(my $line = <DATA>) { while(my $line = <DATA>) {
if ($line =~ /extends CardImpl<(\w+?)>/) { if ($line =~ /extends CardImpl<(\w+?)>/) {
$vars{'baseClassName'} = $1; $vars{'baseClassName'} = $1;
$vars{'baseSet'} = $knownSets{$key}; $vars{'baseSet'} = $knownSets{$keySet};
$vars{'rarityExtended'} = '';
if ($cards{$cardName}{$setName}[3] ne $cards{$cardName}{$keySet}[3]) {
$vars{'rarityExtended'} = "\n this.rarity = Rarity.$raritiesConversion{$cards{$cardName}{$setName}[3]};\n";
}
$found = 1; $found = 1;
} }
} }
@ -95,7 +106,7 @@ foreach my $cardName (@setCards) {
} }
} }
} }
if($found eq 1) { if($found eq 1) {
my $result = $template->fill_in(HASH => \%vars); my $result = $template->fill_in(HASH => \%vars);
if (defined($result)) { if (defined($result)) {