| 3866 | } |
| 3867 | |
| 3868 | void CheckStats(int p) |
| 3869 | { |
| 3870 | int c, i; |
| 3871 | |
| 3872 | if ((DWORD)p >= MAX_PLRS) { |
| 3873 | app_fatal("CheckStats: illegal player %d", p); |
| 3874 | } |
| 3875 | |
| 3876 | if (plr[p]._pClass == PC_WARRIOR) { |
| 3877 | c = PC_WARRIOR; |
| 3878 | } else if (plr[p]._pClass == PC_ROGUE) { |
| 3879 | c = PC_ROGUE; |
| 3880 | } else if (plr[p]._pClass == PC_SORCERER) { |
| 3881 | c = PC_SORCERER; |
| 3882 | } |
| 3883 | |
| 3884 | for (i = 0; i < 4; i++) { |
| 3885 | switch (i) { |
| 3886 | case ATTRIB_STR: |
| 3887 | if (plr[p]._pBaseStr > MaxStats[c][ATTRIB_STR]) { |
| 3888 | plr[p]._pBaseStr = MaxStats[c][ATTRIB_STR]; |
| 3889 | } else if (plr[p]._pBaseStr < 0) { |
| 3890 | plr[p]._pBaseStr = 0; |
| 3891 | } |
| 3892 | break; |
| 3893 | case ATTRIB_MAG: |
| 3894 | if (plr[p]._pBaseMag > MaxStats[c][ATTRIB_MAG]) { |
| 3895 | plr[p]._pBaseMag = MaxStats[c][ATTRIB_MAG]; |
| 3896 | } else if (plr[p]._pBaseMag < 0) { |
| 3897 | plr[p]._pBaseMag = 0; |
| 3898 | } |
| 3899 | break; |
| 3900 | case ATTRIB_DEX: |
| 3901 | if (plr[p]._pBaseDex > MaxStats[c][ATTRIB_DEX]) { |
| 3902 | plr[p]._pBaseDex = MaxStats[c][ATTRIB_DEX]; |
| 3903 | } else if (plr[p]._pBaseDex < 0) { |
| 3904 | plr[p]._pBaseDex = 0; |
| 3905 | } |
| 3906 | break; |
| 3907 | case ATTRIB_VIT: |
| 3908 | if (plr[p]._pBaseVit > MaxStats[c][ATTRIB_VIT]) { |
| 3909 | plr[p]._pBaseVit = MaxStats[c][ATTRIB_VIT]; |
| 3910 | } else if (plr[p]._pBaseVit < 0) { |
| 3911 | plr[p]._pBaseVit = 0; |
| 3912 | } |
| 3913 | break; |
| 3914 | } |
| 3915 | } |
| 3916 | } |
| 3917 | |
| 3918 | void ModifyPlrStr(int p, int l) |
| 3919 | { |
no test coverage detected