X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=PA.pm;h=2f708ec5b738b5ba2641bf11f50b0aa307096484;hb=b5ae63cf1f39a655a3e0d66d984920bb6055058c;hp=1b8f239c5aacc5dfd9eb873a0bf730ef5778c857;hpb=9993c9362b6601921cedb341e18399da3b4af0f1;p=NDIRC.git diff --git a/PA.pm b/PA.pm index 1b8f239..2f708ec 100644 --- a/PA.pm +++ b/PA.pm @@ -83,7 +83,7 @@ sub checkGal { sub shipEff { my ($msg,$command) = @_; my ($amount,$ship,$value); - if($msg =~ /^(-?\d+(?:\.\d+)?[hkMG]?) (\w+)$/){ + if($msg =~ /^(-?\d+(?:\.\d+)?[hkMG]?) (\w+)/){ if ($command eq 'veff'){ $value = parseValue($1); $value *= -1.5 if $value < 0; @@ -109,7 +109,7 @@ FROM ship_stats WHERE name ILIKE ? if (defined $value){ $amount = int(($value*100/$ship[4])); - $feud = '(FEUD: '.prettyValue(int($amount/0.80)).') '; + $feud = '(FEUD: '.prettyValue(int($amount/0.85)).') '; } $value = prettyValue(($amount*$ship[4]/100)); my $text = prettyValue($amount)." $feud $ship[0] ($ship[5]:$value) will $type:"; @@ -140,7 +140,7 @@ FROM ship_stats WHERE name ILIKE ? sub shipStop { my ($msg,$command) = @_; my ($amount,$ship,$value); - if($msg =~ /^(-?\d+(?:\.\d+)?[hkMG]?) (\w+)$/){ + if($msg =~ /^(-?\d+(?:\.\d+)?[hkMG]?) (\w+)/){ if ($command eq 'vstop'){ $value = parseValue($1); $value *= -1.5 if $value < 0; @@ -166,7 +166,7 @@ FROM ship_stats WHERE name ILIKE ? if (defined $value){ $amount = int(($value*100/$ship[4])); - $feud = '(FEUD: '.prettyValue(int($amount/0.80)).') '; + $feud = '(FEUD: '.prettyValue(int($amount/0.85)).') '; } $value = prettyValue(($amount*$ship[4]/100)); my $text = "To stop $amount $feud $ship[0] ($ship[5]:$value) you need:"; @@ -195,7 +195,19 @@ FROM ship_stats WHERE name ILIKE ? } sub calcXp { - my ($x,$y,$z,$roids,$cap) = @_; + my ($msg) = @_; + + my ($x,$y,$z,$roids,$cap); + if(defined $msg && $msg =~ /^(\d+)\D+(\d+)\D+(\d+)(?:[^\.\d]+(\d+))?(?:[^\.\d]+(\d*\.\d+))?$/){ + $x = $1; + $y = $2; + $z = $3; + $roids = $4; + $cap = $5; + }else{ + $ND::server->command("notice $ND::nick syntax: .xp X:Y:Z [roids] [cap] | if roids < 10 then it's taken as the wave, cap is a floating point number, defaults to 0.25"); + return; + } my ($avalue,$ascore) = $ND::DBH->selectrow_array(q{ SELECT value,score FROM current_planet_stats WHERE