]> ruin.nu Git - ndwebbie.git/blobdiff - ND/Include.pm
Take def points into account
[ndwebbie.git] / ND / Include.pm
index 27d0eb11a912aadf122523295be6ef8951df1fa4..9a42d97b092f062599c628e7e72e7257bbde2de3 100644 (file)
@@ -25,7 +25,7 @@ require Exporter;
 
 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) = @_;
@@ -51,9 +51,10 @@ sub parseValue {
 
 sub prettyValue {
        my ($value,$decimals) = @_;
+       return sprintf('%.3e',$value) if $value > 1000000000000000;
        my $unit = '';
        my @units = ('k','M','G','T');
-       for (my $i = 0; $value >= 1000;$i++){
+       for (my $i = 0; $value >= 1000 && $i < 4;$i++){
                $value /= 1000;
                $unit = $units[$i];
        }
@@ -81,6 +82,13 @@ sub intel_log {
        $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