diff --git a/Irpg/Action.pm b/Irpg/Action.pm index 7b0c6b51ee6f585c373569e310e8a3720666acf2..dbacf78ebd1dd98bf31b752a80f8d7e6f4a07fe5 100644 --- a/Irpg/Action.pm +++ b/Irpg/Action.pm @@ -48,8 +48,8 @@ sub itemsum { if (!exists($rps->{$user})) { return -1; } $sum += int($rps->{$user}{item}{$_}) for keys(%{$rps->{$user}{item}}); if ($battle) { - $sum = $rps->{$user}{alignment} eq 'e' ? int($sum*.9) : - $rps->{$user}{alignment} eq 'g' ? int($sum*1.1) : + $sum = $rps->{$user}{alignment} eq 'Evil' ? int($sum*.9) : + $rps->{$user}{alignment} eq 'Good' ? int($sum*1.1) : $sum; return $rps->{$user}{class}->real_sum($sum); } @@ -119,7 +119,7 @@ sub mystic_result { $rps->{$p2}{next} += $gain; push(@queue, "$p1 transfers ".duration($gain)." from ". - pronoun(2, $rps->{$p1}{gender}). " clock to $p2\'s. ". + pronoun(2, $rps->{$p1}{gender})." clock to $p2\'s. ". "$p1 reaches next level in ".duration($rps->{$p1}{next}).". ". "$p2 reaches next level in ".duration($rps->{$p2}{next})."."); if ($win == 2) { @@ -144,7 +144,7 @@ sub mystic_result { $rps->{$p2}{next} -= $gain; push(@queue, "$p1 transfers ".duration($gain)." from ". - pronoun(2, $rps->{$p1}{gender}). "clock to $p2\'s. ". + "${p2}'s clock to ".pronoun(2, $rps->{$p1}{gender})." own.". "$p1 reaches next level in ".duration($rps->{$p1}{next}).". ". "$p2 reaches next level in ".duration($rps->{$p2}{next})."."); } @@ -254,8 +254,8 @@ sub perform_action { if ($p1roll >= $p2roll) { # VICTORY $ret->{vict}++; - my $align_mod = $rps->{$p1}{alignment} eq "g" ? 0.05 : - $rps->{$p1}{alignment} eq "e" ? -0.10 : + my $align_mod = $rps->{$p1}{alignment} eq 'Good' ? 0.05 : + $rps->{$p1}{alignment} eq 'Evil' ? -0.10 : 1; if ($p1roll >= $p1sum * $p1atk * ($rps->{$p1}{class}->{CRIT_SK} + $align_mod)) { # CRITICAL STRIKE diff --git a/Irpg/Event.pm b/Irpg/Event.pm index 10acbb9c8f9fba3e73e997ef41aa4f56b50cbfe7..ae6412e3dd9820c360558f4eb16366a11c96ebf4 100644 --- a/Irpg/Event.pm +++ b/Irpg/Event.pm @@ -302,13 +302,13 @@ sub godsend { # bless the unworthy } sub evilness { - my @evil = grep { $rps->{$_}{alignment} eq "e" && + my @evil = grep { $rps->{$_}{alignment} eq 'Evil' && $rps->{$_}{online} } keys(%$rps); return unless @evil; my $me = $evil[rand(@evil)]; if (int(rand(2)) < 1) { # evil only steals from good :^( - my @good = grep { $rps->{$_}{alignment} eq "g" && + my @good = grep { $rps->{$_}{alignment} eq 'Good' && $rps->{$_}{online} } keys(%$rps); my $target = $good[rand(@good)]; my @items = ("ring","amulet","charm","weapon","helm","tunic", @@ -371,7 +371,7 @@ sub evilchase { sub goodness { - my @players = grep { $rps->{$_}{alignment} eq "g" && + my @players = grep { $rps->{$_}{alignment} eq 'Good' && $rps->{$_}{online} } keys(%$rps); return unless @players > 1; if (int(rand(2)) < 1) { @@ -404,9 +404,9 @@ sub rpcheck { my $rpreport = shift; my $online = shift; my $onlineevil = scalar(grep { $rps->{$_}{online} && - $rps->{$_}{alignment} eq "e" } keys(%$rps)); + $rps->{$_}{alignment} eq 'Evil' } keys(%$rps)); my $onlinegood = scalar(grep { $rps->{$_}{online} && - $rps->{$_}{alignment} eq "g" } keys(%$rps)); + $rps->{$_}{alignment} eq 'Good' } keys(%$rps)); if (!$opts->{noscale}) { if (rand((20*86400)/$opts->{self_clock}) < $online) { hog(); } if (rand((24*86400)/$opts->{self_clock}) < $online) { team_battle(); } diff --git a/Irpg/Main.pm b/Irpg/Main.pm index 4ff791dd97ac30f285ec22bf672a121096fbde81..4cdb1ee34f6c0be270069f2bcb5a645f6b796d5e 100644 --- a/Irpg/Main.pm +++ b/Irpg/Main.pm @@ -236,7 +236,7 @@ sub moveplayers { # at the last move, evil users who has not fought # chase near players if ($i == $opts->{self_clock}-1 - && $rps->{$player}{alignment} == 'e' + && $rps->{$player}{alignment} == 'Evil' && !(grep { $player eq $_ } @who_fought)) { evilchase($player, \%positions); } diff --git a/Irpg/Users.pm b/Irpg/Users.pm index 7f66d5ec5382eefa7b2795c6b322cc7fd0d0ee09..3f2da72b61b57a23f44c32151240d4935c016136 100644 --- a/Irpg/Users.pm +++ b/Irpg/Users.pm @@ -108,7 +108,7 @@ sub register { $rps->{$arg[0]}{pass} = crypt($arg[1],mksalt()); $rps->{$arg[0]}{x} = int(rand($opts->{mapx})); $rps->{$arg[0]}{y} = int(rand($opts->{mapy})); - $rps->{$arg[0]}{alignment}="n"; + $rps->{$arg[0]}{alignment}="Neutral"; $rps->{$arg[0]}{gender}="n"; $rps->{$arg[0]}{isadmin} = 0; for my $item ("ring","amulet","charm","weapon","helm", @@ -184,12 +184,9 @@ sub login { $rps->{$arg[0]}{nick} = $usernick; $rps->{$arg[0]}{userhost} = $userhost; $rps->{$arg[0]}{lastlogin} = time(); - my $almt = $rps->{$arg[0]}{alignment}; - $almt = $almt eq 'g' ? 'Good': - $almt eq 'e' ? 'Evil': - 'Neutral'; Irpg::Irc::chanmsg("$arg[0], the level $rps->{$arg[0]}{level} ". - "$rps->{$arg[0]}{title} $almt $rps->{$arg[0]}{class}->{NAME}, ". + "$rps->{$arg[0]}{alignment} $rps->{$arg[0]}{title} ". + "$rps->{$arg[0]}{class}->{NAME}, ". "is now online from nickname $usernick. Next level in ". duration($rps->{$arg[0]}{next})."."); Irpg::Irc::notice("Logon successful. Next level in ". @@ -213,21 +210,17 @@ sub status { return unless ($opts->{statuscmd}); my ($userhost, $usernick, $username, $source, @arg) = @_; my $asked = exists($arg[0]) ? $arg[0] : $username; - return unless ($asked); - my $asked_found = Irpg::Main::finduser($asked) unless (exists($rps->{$asked})); - $asked = $asked_found if ($asked_found); - $asked = Irpg::Main::finduser($asked, 1) unless ($asked_found); + + $asked = Irpg::Main::finduser($asked) unless (exists($rps->{$asked})); + $asked = Irpg::Main::finduser($asked, 1) unless ($asked); if (!$asked) { Irpg::Irc::privmsg("No matching user found.",$source); } else { - my $almt = $rps->{$asked}{alignment}; - $almt = $almt eq 'g' ? 'Good': - $almt eq 'e' ? 'Evil': - 'Neutral'; Irpg::Irc::privmsg("$asked: Level $rps->{$asked}{level} ". - "$rps->{$asked}{title} $almt $rps->{$asked}{class}->{NAME}; ". + "$rps->{$asked}{alignment} $rps->{$asked}{title} ". + "$rps->{$asked}{class}->{NAME}; ". "Status: O".($rps->{$asked}{online}?"n":"ff")."line; ". "TTL: ".duration($rps->{$asked}{next})."; ". "Idled: ".duration($rps->{$asked}{idled})."; ". @@ -243,13 +236,10 @@ sub whoami { Irpg::Irc::notice("You are not logged in.", $usernick); } else { - my $almt = $rps->{$username}{alignment}; - $almt = $almt eq 'g' ? 'Good': - $almt eq 'e' ? 'Evil': - 'Neutral'; Irpg::Irc::privmsg("You are $username, the level ". - "$rps->{$username}{level} $rps->{$username}{title} ". - "$almt $rps->{$username}{class}->{NAME}. You have ". + "$rps->{$username}{level} $rps->{$username}{alignment} ". + "$rps->{$username}{title} ". + "$rps->{$username}{class}->{NAME}. You have ". "$rps->{$username}{points} point(s) available, and ". "$rps->{$username}{actions} action(s) you can trigger. ". "Next level in ".duration($rps->{$username}{next}), @@ -281,11 +271,12 @@ sub align { Irpg::Irc::notice("Try: ALIGN <good|neutral|evil>", $usernick); } else { - $rps->{$username}{alignment} = substr(lc($arg[0]),0,1); - Irpg::Irc::chanmsg("$username has changed alignment to: ".lc($arg[0]). - "."); - Irpg::Irc::privmsg("Your alignment was changed to ".lc($arg[0]).".", - $source); + $rps->{$username}{alignment} = substr(uc($arg[0]),0,1). + substr(lc($arg[0]),1,length $arg[0]); + Irpg::Irc::chanmsg("$username has changed alignment to: ". + "$rps->{$username}{alignment}."); + Irpg::Irc::privmsg("Your alignment was changed to ". + "$rps->{$username}{alignment}.", $source); Irpg::Main::penalize($username,"align"); } } diff --git a/Irpg/Utils.pm b/Irpg/Utils.pm index 871877578e9badd0279d6050c3172c9040a01c2f..6f77e69896a86516f14f2b1e8fa9bd616cd0dbc1 100644 --- a/Irpg/Utils.pm +++ b/Irpg/Utils.pm @@ -470,7 +470,7 @@ sub createdb { $rps{$uname}{lastlogin} = time(); $rps{$uname}{x} = int(rand($opts->{mapx})); $rps{$uname}{y} = int(rand($opts->{mapy})); - $rps{$uname}{alignment}="n"; + $rps{$uname}{alignment}='Neutral'; $rps{$uname}{gender}="n"; $rps{$uname}{isadmin} = 1; for my $item ("ring","amulet","charm","weapon","helm",