diff --git a/Irpg/Action.pm b/Irpg/Action.pm
index 47e3fb28ad601c8987a071525132344b0b5ce96b..bf5f0d57ce512fb9b621b3df340fc426866e85b9 100644
--- a/Irpg/Action.pm
+++ b/Irpg/Action.pm
@@ -238,20 +238,22 @@ sub perform_action {
     my $p2def = eval '$rps->{$p2}{class}->'.$action_type.'_def()';
     my $p1sum = itemsum($p1,1);
     my $p2sum = itemsum($p2,1);
-    my $p1roll = int(0.5 + rand($p1sum) * $p1atk);
-    my $p2roll = int(0.5 + rand($p2sum) * $p2def);
+    my $p1roll = int(rand($p1sum));# * $p1atk);
+    my $p2roll = int(rand($p2sum));# * $p2def);
     my $ret;
     if ($p1roll < 5 || $p2roll < 5 || $p1sum < 5 || $p2roll < 5) {
         $ret = {p1sum=>$p1sum, p2sum=>$p2sum,
                 p1roll=>$p1roll, p2roll=>$p2roll,
+				p1atk=>$p1atk, p2def=>$p2def,
                 vict=>0};
     }
     else {
         $ret = {p1sum=>int(0.5+$p1sum/5), p2sum=>int(0.5+$p2sum/5),
                 p1roll=>int(0.5+$p1roll/5), p2roll=>int(0.5+$p2roll/5),
+                p1atk=>$p1atk, p2def=>$p2def,
                 vict=>0};
     }
-    if ($p1roll >= $p2roll) {
+    if ($p1roll*$p1atk >= $p2roll*$p2def) {
         # VICTORY
         $ret->{vict}++;
         my $align_mod = $rps->{$p1}{alignment} eq 'Good' ? 0.05 :
@@ -274,8 +276,8 @@ sub challenge_opp { # pit argument player against random player
     my $action_type = choose_action($p1);
     my $ret_action = perform_action($p1, $p2, $action_type);
     my $res_action = eval $action_type.'_result($p1, $p2, $ret_action->{vict})';
-    my $p1_res = "[$ret_action->{p1roll}/$ret_action->{p1sum}]";
-    my $p2_res = "[$ret_action->{p2roll}/$ret_action->{p2sum}]";
+    my $p1_res = "[$ret_action->{p1roll}*$ret_action->{p1atk}/$ret_action->{p1sum}]";
+    my $p2_res = "[$ret_action->{p2roll}*$ret_action->{p2def}/$ret_action->{p2sum}]";
     my $mesg = '';
 
     if ($action_type eq 'fight') {
@@ -302,8 +304,8 @@ sub collision_action {
     my $ret_action = perform_action($p1, $p2, $action_type);
     my $res_action = eval $action_type.'_result($p1, $p2, $ret_action->{vict})';
 
-    my $p1_res = "[$ret_action->{p1roll}/$ret_action->{p1sum}]";
-    my $p2_res = "[$ret_action->{p2roll}/$ret_action->{p2sum}]";
+    my $p1_res = "[$ret_action->{p1roll}*$ret_action->{p1atk}/$ret_action->{p1sum}]";
+    my $p2_res = "[$ret_action->{p2roll}*$ret_action->{p2def}/$ret_action->{p2sum}]";
     my $mesg = "$p1 $p1_res has come upon $p2 $p2_res and ";
     if ($action_type eq 'fight') {
         $mesg .= ($ret_action->{vict} ?
@@ -456,8 +458,8 @@ sub do_action {
     my $ret_action = perform_action($p1, $p2, $action_type);
     my $res_action = eval $action_type.'_result($p1, $p2, $ret_action->{vict}, 1)';
 
-    my $p1_res = "[$ret_action->{p1roll}/$ret_action->{p1sum}]";
-    my $p2_res = "[$ret_action->{p2roll}/$ret_action->{p2sum}]";
+    my $p1_res = "[$ret_action->{p1roll}*$ret_action->{p1atk}/$ret_action->{p1sum}]";
+    my $p2_res = "[$ret_action->{p2roll}*$ret_action->{p2def}/$ret_action->{p2sum}]";
     my $mesg = '';
 
     if ($action_type eq 'fight') {
diff --git a/Irpg/Classes/Farmer.pm b/Irpg/Classes/Farmer.pm
index 1123b223ddfe106bf17bec16eddcd73f5aaed8c3..1002cedcdd611c37baff3d6b36865c148b92d360 100644
--- a/Irpg/Classes/Farmer.pm
+++ b/Irpg/Classes/Farmer.pm
@@ -109,6 +109,4 @@ sub real_lvl {
 	return CORE::int($lvl);
 }
 
-
-
 1;
diff --git a/Irpg/Main.pm b/Irpg/Main.pm
index 40907687f7b8b0a4fdfcc8a53cda2218a1538b57..c91c535b59bf87aa67ccd4e23b87684c0dcbaecf 100644
--- a/Irpg/Main.pm
+++ b/Irpg/Main.pm
@@ -312,8 +312,10 @@ sub rpcheck { # check levels, update database
             if ($rps->{$k}{online} && exists $rps->{$k}{nick} &&
                 $rps->{$k}{nick} && exists $onchan{$rps->{$k}{nick}}) {
                 $rps->{$k}{next} -= ($curtime - $$lasttime_ref);
-                $rps->{$k}{next_a} -= ($curtime - $$lasttime_ref);
-                $rps->{$k}{next_a} = 0 if ($rps->{$k}{next_a} < 0);
+                $rps->{$k}{next_a} = map { $_ - ($curtime - $$lasttime_ref) }
+                                         $rps->{$k}{next_a};
+                #$rps->{$k}{next_a} -= ($curtime - $$lasttime_ref);
+                #$rps->{$k}{next_a} = 0 if ($rps->{$k}{next_a} < 0);
                 $rps->{$k}{idled} += ($curtime - $$lasttime_ref);
                 if ($rps->{$k}{next} < 1) {
                     $rps->{$k}{level}++;
@@ -446,11 +448,11 @@ sub parse {
         }
     }
     elsif ($arg[1] eq 'part') {
-		if (defined($username)) {
-			$rps->{$username}{online}=0;
-			penalize($username,"part");
-		}
-		delete($onchan{$usernick}) if ($opts->{botchan} eq substr($arg[2], 1));
+        if (defined($username)) {
+            $rps->{$username}{online}=0;
+            penalize($username,"part");
+        }
+        delete($onchan{$usernick}) if ($opts->{botchan} eq substr($arg[2], 1));
     }
     elsif ($arg[1] eq 'kick') {
         $usernick = $arg[3];
@@ -520,12 +522,12 @@ sub parse {
     }
     elsif ($arg[1] eq '307') {
         # 307 is the line of /WHOIS which exists if the user is registered
-		my @persos = grep { $rps->{$_}{nick} eq $arg[3] } keys %$rps;
-		return unless (@persos);
-		my $char_name = $persos[0];
-		foreach (@persos) {
-			$char_name = $_ if $rps->{$_}{lastlogin} > $rps->{$char_name}{lastlogin};
-		}
+        my @persos = grep { $rps->{$_}{nick} eq $arg[3] } keys %$rps;
+        return unless (@persos);
+        my $char_name = $persos[0];
+        foreach (@persos) {
+            $char_name = $_ if $rps->{$_}{lastlogin} > $rps->{$char_name}{lastlogin};
+        }
         $rps->{$char_name}{online} = 1;
         Irpg::Irc::chanmsg("Logged in registered user $arg[3] as $char_name.");
     }
diff --git a/Irpg/Users.pm b/Irpg/Users.pm
index aebe2cd889f432717a29860061c5ecf8402e4196..22fb0401271ef1b7cf2aceb876b8dad9830f8b8b 100644
--- a/Irpg/Users.pm
+++ b/Irpg/Users.pm
@@ -357,11 +357,12 @@ sub points {
     if (!@arg) {
         Irpg::Irc::privmsg("Your raw competences are the following: ".
             join(', ', map { uc($_)." $rps->{$username}{stats}{$_}" }
-                        qw(str con int wis cha dex)).".", $source);
+                        qw(str con int wis cha dex))." ".
+			"You have $rps->{$username}{points} point(s) available.", $source);
         return;
     }
     if (@arg != 2 || $arg[1] !~ m/^\d+$/) {
-        Irpg::Irc::notice("Try: POINTS <stat> <n>",$usernick);
+        Irpg::Irc::notice("Try: POINTS [<stat> <n>]",$usernick);
         return;
     }
     my ($stat, $n) = @arg;