2015-01-28 04:21:26 -05:00
|
|
|
package OSRIC::Race::Gnome;
|
2015-01-28 04:49:10 -05:00
|
|
|
use parent qw(OSRIC::Race);
|
2015-01-26 14:45:09 -05:00
|
|
|
use OSRIC::Util qw/d/;
|
|
|
|
|
|
|
|
# The stat buffs/nerfs a race gives:
|
|
|
|
sub stats_boosts
|
|
|
|
{
|
|
|
|
{
|
|
|
|
str => 0,
|
|
|
|
dex => 0,
|
|
|
|
con => 0,
|
|
|
|
int => 0,
|
|
|
|
wis => 0,
|
|
|
|
cha => 0,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
# The permitted classes:
|
|
|
|
sub permitted_classes
|
|
|
|
{
|
2015-01-28 04:21:26 -05:00
|
|
|
[ [ "Assassin" ], [ "Cleric" ], [ "Fighter" ], [ "Illusionist" ],
|
|
|
|
[ "Thief" ], [ "Fighter", "Illusionist" ], [ "Fighter", "Thief" ],
|
2015-01-26 14:45:09 -05:00
|
|
|
[ "Illusionist", "Thief" ] ]
|
|
|
|
}
|
|
|
|
|
|
|
|
# A hash of subs to generate the starting age based on class:
|
|
|
|
sub ages
|
|
|
|
{
|
|
|
|
{
|
2015-01-28 04:21:26 -05:00
|
|
|
assassin => sub { 80 + d(4, 5) },
|
|
|
|
cleric => sub { 300 + d(12, 3) },
|
|
|
|
druid => sub { 300 + d(12, 3) },
|
|
|
|
fighter => sub { 60 + d(4, 5) },
|
2015-01-28 04:49:10 -05:00
|
|
|
illusionist => sub { 100 + d(12, 2) },
|
2015-01-28 04:21:26 -05:00
|
|
|
magicuser => sub { 100 + d(12, 2) },
|
|
|
|
paladin => sub { 60 + d(4, 5) },
|
|
|
|
ranger => sub { 60 + d(4, 5) },
|
|
|
|
theif => sub { 80 + d(4, 5) },
|
2015-01-26 14:45:09 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
# The racial limitations:
|
|
|
|
sub racial_limitations
|
|
|
|
{
|
|
|
|
{
|
|
|
|
str => { min => 6, max => 18 },
|
|
|
|
dex => { min => 3, max => 19 },
|
|
|
|
con => { min => 8, max => 17 },
|
|
|
|
int => { min => 7, max => 18 },
|
|
|
|
wis => { min => 3, max => 18 },
|
|
|
|
cha => { min => 3, max => 18 },
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
1;
|