Lines Matching refs:skill

110 give_may_advance_msg(skill)  in give_may_advance_msg()  argument
111 int skill; in give_may_advance_msg()
114 !P_RESTRICTED(skill) ? "confident" : "comfortable",
115 skill == P_NONE ?
117 skill <= P_LAST_WEAPON ?
119 skill <= P_LAST_SPELL ?
121 skill <= P_LAST_H_TO_H ?
966 skill_level_name(skill, buf) in skill_level_name() argument
967 int skill; in skill_level_name()
972 switch (P_SKILL(skill)) {
979 if (skill <= P_LAST_WEAPON)
981 else if (skill <= P_LAST_SPELL)
983 else if (skill <= P_LAST_H_TO_H)
995 slots_required(skill) in slots_required() argument
996 int skill; in slots_required()
998 int tmp = P_SKILL(skill);
1001 if (tmp >= P_MAX_SKILL(skill)) tmp *=2;
1009 if (skill <= P_LAST_SPELL)
1025 can_advance(skill, speedy) in can_advance() argument
1026 int skill; in can_advance()
1029 return !P_RESTRICTED(skill)
1030 && P_SKILL(skill) < P_MAX_SKILL(skill) && (
1034 (P_ADVANCE(skill) >=
1035 (unsigned) practice_needed_to_advance(P_SKILL(skill), skill)
1037 && u.weapon_slots >= slots_required(skill)));
1042 can_practice(skill) in can_practice() argument
1043 int skill; in can_practice()
1045 return !P_RESTRICTED(skill)
1046 && P_SKILL(skill) < P_MAX_SKILL(skill)
1054 could_advance(skill) in could_advance() argument
1055 int skill; in could_advance()
1057 return !P_RESTRICTED(skill)
1058 && P_SKILL(skill) < P_MAX_SKILL(skill) && (
1059 (P_ADVANCE(skill) >=
1060 (unsigned) practice_needed_to_advance(P_SKILL(skill), skill)
1067 peaked_skill(skill) in peaked_skill() argument
1068 int skill; in peaked_skill()
1070 return !P_RESTRICTED(skill)
1071 && P_SKILL(skill) >= P_MAX_SKILL(skill) && (
1072 (P_ADVANCE(skill) >=
1073 (unsigned) practice_needed_to_advance(P_SKILL(skill), skill)));
1077 skill_advance(skill) in skill_advance() argument
1078 int skill; in skill_advance()
1081 if (wizard && speed_advance && P_RESTRICTED(skill)) {
1082 unrestrict_weapon_skill(skill);
1087 u.weapon_slots -= slots_required(skill);
1088 P_SKILL(skill)++;
1089 u.skill_record[u.skills_advanced++] = skill;
1092 P_SKILL(skill) >= P_MAX_SKILL(skill) ? "most" : "more",
1093 P_NAME(skill));
1094 if (!tech_known(T_DISARM) && (P_SKILL(skill) == P_SKILLED) &&
1095 skill <= P_LAST_WEAPON && skill != P_WHIP) {
1333 unrestrict_weapon_skill(skill) in unrestrict_weapon_skill() argument
1334 int skill; in unrestrict_weapon_skill()
1336 if (skill < P_NUM_SKILLS && P_RESTRICTED(skill)) {
1337 P_SKILL(skill) = P_UNSKILLED;
1338 P_MAX_SKILL(skill) = P_BASIC;
1339 P_ADVANCE(skill) = 0;
1347 use_skill(skill,degree) in use_skill() argument
1348 int skill; in use_skill()
1354 if (skill != P_NONE) {
1355 advance_before = can_advance(skill, FALSE);
1356 P_ADVANCE(skill) += degree;
1357 if (!advance_before && can_advance(skill, FALSE)) {
1358 give_may_advance_msg(skill);
1359 if (P_RESTRICTED(skill)) {
1360 unrestrict_weapon_skill(skill);
1385 int skill; local
1393 skill = u.skill_record[--u.skills_advanced];
1394 if (P_SKILL(skill) <= P_UNSKILLED)
1395 panic("lose_weapon_skill (%d)", skill);
1396 if (skill <= P_LAST_WEAPON && skill != P_WHIP &&
1397 P_SKILL(skill) == P_SKILLED)
1399 P_SKILL(skill)--; /* drop skill one level */
1401 u.weapon_slots = slots_required(skill) - 1;
1411 skill = u.skill_record[i];
1412 if (skill <= P_LAST_WEAPON && skill != P_WHIP &&
1413 P_SKILL(skill) >= P_SKILLED)
1458 int skill;
1485 skill = P_SKILL(P_TWO_WEAPON_COMBAT);
1486 if (P_SKILL(wep_type) < skill) skill = P_SKILL(wep_type);
1487 switch (skill) {
1488 default: impossible(bad_skill, skill); /* fall through */
1545 int skill;
1571 skill = P_SKILL(P_TWO_WEAPON_COMBAT);
1572 if (P_SKILL(wep_type) < skill) skill = P_SKILL(wep_type);
1573 switch (skill) {
1658 int skill; local
1661 skill = weapon_type(obj);
1664 if (skill == P_NONE && obj->oclass == SPBOOK_CLASS)
1665 skill = spell_skilltype(obj->otyp);
1671 if (obj->otyp == SADDLE) skill = P_RIDING;
1674 if (skill < P_NONE) skill = P_NONE;
1676 return (skill);
1690 int skmax, skill; local
1693 for (skill = 0; skill < P_NUM_SKILLS; skill++) {
1694 P_SKILL(skill) = P_ISRESTRICTED;
1695 P_MAX_SKILL(skill) = P_ISRESTRICTED;
1696 P_ADVANCE(skill) = 0;
1700 for (; class_skill->skill != P_NONE; class_skill++) {
1701 skill = class_skill->skill;
1704 P_MAX_SKILL(skill) = skmax;
1705 if (P_SKILL(skill) == P_ISRESTRICTED) /* skill pre-set */
1706 P_SKILL(skill) = P_UNSKILLED;
1710 if (P_MAX_SKILL(skill) > P_EXPERT) P_SKILL(skill) = P_BASIC;
1715 skill = get_obj_skill(obj);
1716 if (skill != P_NONE) {
1717 P_SKILL(skill) = P_BASIC;
1719 if (P_MAX_SKILL(skill) < P_SKILLED) {
1720 pline("Warning: %s should be at least skilled. Fixing...", P_NAME(skill));
1721 P_MAX_SKILL(skill) = P_SKILLED;
1759 for (skill = 0; skill < P_NUM_SKILLS; skill++) {
1760 if (!P_RESTRICTED(skill)) {
1761 if (P_MAX_SKILL(skill) < P_SKILL(skill)) {
1762 impossible("skill_init: curr > max: %s", P_NAME(skill));
1763 P_MAX_SKILL(skill) = P_SKILL(skill);
1765 P_ADVANCE(skill) = practice_needed_to_advance(P_SKILL(skill)-1,skill);