… | |
… | |
734 | ob->player_goto (format ("%s/%s", &first_map_ext_path, &ob->arch->archname), ob->x, ob->y); |
734 | ob->player_goto (format ("%s/%s", &first_map_ext_path, &ob->arch->archname), ob->x, ob->y); |
735 | else |
735 | else |
736 | LOG (llevDebug, "first_map_ext_path not set\n"); |
736 | LOG (llevDebug, "first_map_ext_path not set\n"); |
737 | } |
737 | } |
738 | |
738 | |
|
|
739 | /* |
|
|
740 | * Returns true if the given player is a legal class. |
|
|
741 | * The function to add and remove class-bonuses to the stats doesn't |
|
|
742 | * check if the stat becomes negative, thus this function |
|
|
743 | * merely checks that all stats are 1 or more, and returns |
|
|
744 | * false otherwise. |
|
|
745 | */ |
|
|
746 | static int |
|
|
747 | allowed_class (const object *op) |
|
|
748 | { |
|
|
749 | return op->stats.Dex > 0 |
|
|
750 | && op->stats.Str > 0 |
|
|
751 | && op->stats.Con > 0 |
|
|
752 | && op->stats.Int > 0 |
|
|
753 | && op->stats.Wis > 0 |
|
|
754 | && op->stats.Pow > 0 |
|
|
755 | && op->stats.Cha > 0; |
|
|
756 | } |
|
|
757 | |
739 | void |
758 | void |
740 | player::chargen_race_next () |
759 | player::chargen_race_next () |
741 | { |
760 | { |
742 | /* Following actually changes the race - this is the default command |
761 | /* Following actually changes the race - this is the default command |
743 | * if we don't match with one of the options above. |
762 | * if we don't match with one of the options above. |