git.shiar.nl
/
sheet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
fe36830
)
sc: cleanup row ordering code
author
Mischa POSLAWSKY
<perl@shiar.org>
Sat, 21 Apr 2018 18:21:26 +0000
(20:21 +0200)
committer
Mischa POSLAWSKY
<perl@shiar.org>
Thu, 10 May 2018 14:49:06 +0000
(16:49 +0200)
sc.plp
patch
|
blob
|
history
diff --git
a/sc.plp
b/sc.plp
index a282ef4007ebc9e4f74afcd35e9e7fe76f154e91..3a7f36bd365da00c266a556d7a3c0035cb9551de 100644
(file)
--- a/
sc.plp
+++ b/
sc.plp
@@
-338,6
+338,7
@@
sub showrangeint {
);
}
);
}
+ my @rows = @{$units};
my $grouped = 1; # race headers
if (exists $get{order}) {
$grouped = 0;
my $grouped = 1; # race headers
if (exists $get{order}) {
$grouped = 0;
@@
-346,12
+347,12
@@
sub showrangeint {
$_->{order} = (
$_->{pop}*16 + ($_->{size} // $_->{suit}) + $_->{cargo}/8
+ $_->{hp}/512 + $_->{min}/8192
$_->{order} = (
$_->{pop}*16 + ($_->{size} // $_->{suit}) + $_->{cargo}/8
+ $_->{hp}/512 + $_->{min}/8192
- ) for @
$unit
s;
+ ) for @
row
s;
}
elsif ($get{order} eq 'cost') {
$_->{order} = (
$_->{gas}*1.5 + $_->{min} + $_->{pop}/8 + $_->{build}/256/8
}
elsif ($get{order} eq 'cost') {
$_->{order} = (
$_->{gas}*1.5 + $_->{min} + $_->{pop}/8 + $_->{build}/256/8
- ) for @
$unit
s;
+ ) for @
row
s;
}
elsif ($get{order} eq 'attack') {
$_->{order} = $_->{hp} / 1024 + $_->{shield} / 1008 + max(
}
elsif ($get{order} eq 'attack') {
$_->{order} = $_->{hp} / 1024 + $_->{shield} / 1008 + max(
@@
-362,14
+363,10
@@
sub showrangeint {
* ($_->{type} eq 'implosive' ? .96 : 1)
* ($_->{type} eq 'explosive' ? .98 : 1)
} @{ $_->{attack} }
* ($_->{type} eq 'implosive' ? .96 : 1)
* ($_->{type} eq 'explosive' ? .98 : 1)
} @{ $_->{attack} }
- ) for @$units;
- }
- else {
- $units->[$_]->{order} = $_ for 0 .. $#$units;
+ ) for @rows;
}
}
+ @rows = sort {$a->{order} <=> $b->{order}} @rows if exists $rows[0]->{order};
}
}
- my @rows = @{$units};
- @rows = sort {$a->{order} <=> $b->{order}} @rows unless $grouped;
my ($race, $cat) = ('', '');
for (@rows) {
my ($race, $cat) = ('', '');
for (@rows) {