our @ISA = qw/Exporter/;
-our @EXPORT = qw/min max parseValue prettyValue log_message intel_log unread_query/;
+our @EXPORT = qw/min max parseValue prettyValue log_message intel_log unread_query pa_xp/;
sub min {
my ($x,$y) = @_;
}
sub prettyValue {
- my ($value) = @_;
+ my ($value,$decimals) = @_;
my $unit = '';
my @units = ('k','M','G','T');
for (my $i = 0; $value >= 1000;$i++){
$value /= 1000;
$unit = $units[$i];
}
- return sprintf('%.2f%s', $value,$unit);
+ unless (defined $decimals){
+ $decimals = '.0';
+ $decimals = '.1' if $value < 100 && $unit;
+ $decimals = '.2' if $value < 10 && $unit;
+ }
+
+ return sprintf('%'.$decimals.'f%s', $value,$unit);
}
$log->execute($uid,$message,$planet) or $ND::ERROR .= p($ND::DBH->errstr);
}
+sub pa_xp {
+ my ($roids,$ascore,$avalue,$tscore,$tvalue) = @_;
+ my $bravery = (max(0,min(2,$tscore/$ascore)-0.6)) * (min(2,$tvalue/$avalue)-0.4);
+ return int(max($roids * 10 * $bravery,0))
+
+}
+
sub unread_query {
return $ND::DBH->prepare_cached(q{
SELECT count(*) AS unread, count(NULLIF(fp.time > $2,FALSE)) AS new