|
Post by lechuck on May 27, 2020 16:54:46 GMT -5
There have been no particular changes to races, unless you played so long ago that d-elves still had like 300+ stamina. That was changed in 2005 or something. Around that time, elven wisdom was also nerfed a ton and is now only slightly higher than humans; about as much higher as dwarven strength is compared to humans.
The racial skills are steal and haggle for city elves, sneak and hide for desert elves. I believe half-elves also get a higher cap on their ride skill.
The caps for racial (or, in the code, 'innate') skills are not set in stone. It depends on your stats. This is what the code says:
get_innate_max_skill(CHAR_DATA * ch, int sk) { int max = 0;
switch (skill[sk].sk_class) { case CLASS_MANIP: case CLASS_STEALTH: max = 40 + agl_app[GET_AGL(ch)].stealth_manip; break; case CLASS_MAGICK: max = 30 + wis_app[GET_WIS(ch)].wis_saves / 2; break; case CLASS_PERCEP: max = 40 + wis_app[GET_WIS(ch)].percep; break; case CLASS_COMBAT: case CLASS_WEAPON: max = 25 + end_app[GET_END(ch)].end_saves; // allow trample to go higher than other combat/weapon skills if (sk == SKILL_TRAMPLE) max += 25; break; case CLASS_BARTER: max = 30 + wis_app[GET_WIS(ch)].percep; break;
To make sense of that, we need to look at the stat tables:
/* strength apply */ /* to_dam, carry_w, bend_break */ struct str_app_type str_app[101] = { {-9, 1, -1}, /* 0 */ {-6, 5, 0}, {-5, 10, 0}, {-4, 20, 0}, /* 3 */ {-4, 35, 0}, {-3, 50, 0}, {-3, 65, 0}, /* 6 */ {-2, 80, 0}, {-2, 95, 0}, {-1, 105, 1}, /* 9 */ {0, 110, 2}, {0, 115, 3}, {0, 117, 4}, /* 12 */ {0, 120, 6}, {0, 125, 9}, {1, 140, 12}, /* 15 */ {1, 155, 18}, {2, 170, 24}, {3, 195, 32}, /* 18 */ {4, 230, 40}, {5, 290, 48}, {6, 380, 56}, /* 21 */ {7, 430, 64}, {8, 500, 72}, {9, 640, 80}, /* 24 */ {10, 680, 80}, /* 25 */
/* agility apply */ /* react, stealth_manip, carry number, missile bonus c_delay */ struct agl_app_type agl_app[101] = { {0, 0, 0, 0, 15}, /* 0 */ {-30, -50, 1, -30, 10}, {-20, -40, 2, -25, 8}, {-15, -30, 2, -20, 7}, /* 3 */ {-10, -25, 2, -15, 5}, {-5, -20, 3, -10, 5}, {-5, -15, 3, -5, 5}, /* 6 */ {0, -10, 4, -5, 4}, {0, -5, 4, 0, 4}, {0, 0, 5, 0, 4}, /* 9 */ {0, 0, 5, 0, 4}, {0, 0, 6, 0, 3}, {0, 0, 6, 0, 3}, /* 12 */ {0, 5, 7, 0, 3}, {0, 5, 7, 0, 3}, {0, 5, 8, 5, 3}, /* 15 */ {5, 10, 8, 5, 2}, {5, 15, 8, 5, 2}, {5, 20, 9, 10, 2}, /* 18 */ {10, 25, 9, 10, 2}, {10, 25, 9, 15, 2}, {10, 25, 10, 15, 2}, /* 21 */ {15, 25, 10, 20, 2}, {15, 30, 10, 20, 1}, {20, 35, 11, 25, 1}, /* 24 */ {25, 40, 12, 25, 1}, /* 25 */ {28, 40, 12, 28, 1},
/* endurance apply */ /* saving throws, system shock, move bonus */ struct end_app_type end_app[101] = { {-50, 0, 0}, /* 0 */ {-50, 10, 1}, /* 1 */ {-40, 20, 2}, {-30, 30, 3}, {-25, 40, 4}, {-20, 45, 5}, /* 5 */ {-15, 50, 6}, {-10, 55, 7}, {-5, 60, 8}, {0, 65, 9}, {0, 70, 10}, /* 10 */ {0, 75, 11}, {0, 80, 12}, {5, 85, 13}, {5, 88, 14}, {5, 90, 15}, /* 15 */ {10, 95, 17}, {15, 97, 19}, {20, 99, 21}, {25, 99, 23}, {25, 99, 25}, /* 20 */ {30, 99, 28}, {30, 99, 31},
/* wisdom apply */ /* learn, perception, saves */ struct wis_app_type wis_app[101] = { {0, 0, 0}, /* 0 */ {1, -30, -50}, {2, -20, -40}, {4, -15, -30}, /* 3 */ {6, -10, -25}, {8, -5, -20}, {10, -5, -15}, /* 6 */ {12, 0, -10}, {14, 0, -5}, {16, 0, 0}, /* 9 */ {18, 0, 0}, {20, 0, 0}, {24, 0, 0}, /* 12 */ {28, 0, 0}, {32, 0, 0}, {38, 0, 5}, /* 15 */ {44, 5, 10}, {50, 5, 15}, {56, 5, 20}, /* 18 */ {62, 10, 25}, {68, 10, 30}, {74, 10, 35}, /* 21 */ {80, 15, 40}, {86, 15, 45}, {92, 20, 50}, /* 24 */ {92, 20, 50}, /* 25 */
So if we want to find out what our city elf's innate steal skill caps at, we need to find the 'stealth_manip' value for his agility. Let's say he has 23 agility; this gives 30 in stealth_manip. That means the character's steal skill is capped at 70 (40 base + 30 from agility). Any skill that is not part of the character's class or subclass has a stat-based cap. If your city elf has 25+ agility, his steal would cap at 80 (master). Racial skills, ride, pilot, trample and (I believe) watch are skills that use this system, assuming you don't get the skill from a subclass. If you do get the skill from a sublcass, e.g. advanced ride, I don't think your stat bonus is added to the cap. I have no idea if this can give you a lower cap than you would have had without that subclass. Like if you pick a sub that gives a cap of 60 in ride but your stats would have given you 65, it's anyone's guess which one takes precedence.
To get master steal on a city elf or master hide/sneak on a d-elf, you need +40 to stealth_manip which requires 25 agility. Elven exceptional agility is 24-26, so it's right in the middle. You can actually check if you have 25+ because that's when you can hold 12 items in your inventory. If you rolled exceptional agility but can only hold 11 items, you have 24 agility. Sometimes it's possible to find out exactly what you have in a stat with tricks like these, but not always. Humans have no way of knowing if their exceptional agility is 18 or 19.
Here are the table for racial stats:
Human Human STR/AGI/END Human WIS 3d4+7 4d4+4 Absolutely Incredible | 20+ 21+ Exceptional | 18-19 19-20 Extremely Good | 17 17-18 Very Good | 16 15-16 Good | 14-15 14 Above Average | 13 12-13 Average | 12 10-11 Below Average | 10-11 8-9 Poor | < 10 < 8
City Elf cElf STR cElf AGI cElf WIS cElf END 3d4+3 3d6+8 4d7+5 2d4+8 Absolutely Incredible | 16+ 27+ 34+ 17+ Exceptional | 14-15 24-26 30-33 16 Extremely Good | 13 22-23 27-29 15 Very Good | 12 20-21 23-26 14 Good | 10-11 18-19 20-22 13 Above Average | 9 16-17 16-19 12 Average | 8 14-15 13-15 11 Below Average | 6-7 11-13 9-12 10 Poor | < 10 < 11 < 9 < 10
Dwarf Dwarf STR Dwarf AGI Dwarf WIS Dwarf END 3d4+9 3d4+6 3d4+6 2d4+13 Absolutely Incredible | 22+ 19+ 19+ 22+ Exceptional | 20-21 17-18 17-18 21 Extremely Good | 19 16 16 20 Very Good | 18 15 15 19 Good | 16-17 13-14 13-14 18 Above Average | 15 12 12 17 Average | 14 11 11 16 Below Average | 12-13 9-10 9-10 15 Poor | < 12 < 9 < 9 < 15
Half Elf HE STR HE AGI HE WIS HE END 3d4+6 3d4+7 3d4+7 3d4+8 Absolutely Incredible | 19+ 19+ 19+ 21+ Exceptional | 17-18 17-18 17-18 19-20 Extremely Good | 16 16 16 18 Very Good | 15 15 15 17 Good | 13-14 14 14 15-16 Above Average | 12 13 13 14 Average | 11 12 12 13 Below Average | 9-10 10-11 10-11 11-12 Poor | < 9 < 10 < 10 < 11
Half Giant HG STR HG AGI HG WIS HG END 1d15+35 3d4+0 3d3+1 1d8+14 Absolutely Incredible | 51+ 13+ 11+ 24+ Exceptional | 48-50 11-12 10 22-23 Extremely Good | 46-47 10 9 21 Very Good | 44-45 9 8 20 Good | 42-43 7-8 7 19 Above Average | 40-41 6 6 18 Average | 38-39 5 5 17 Below Average | 37-36 3-4 4 15-16 Poor | < 36 < 3 < 4 < 15 Desert Elf dElf STR dElf AGI dElf WIS dElf END 3d4+3 3d7+8 4d4+5 1d15+25 Absolutely Incredible | 16+ 30+ 22+ 41+ Exceptional | 14-15 27-29 20-21 38-40 Extremely Good | 13 24-26 18-19 36-37 Very Good | 12 22-23 16-17 34-35 Good | 10-11 19-21 15 32-33 Above Average | 9 17-18 13-14 30-31 Average | 8 14-16 11-12 28-29 Below Average | 6-7 11-13 9-10 26-27 Poor | < 6 < 11 < 9 < 26
Note that some of those values are outdated, particularly city elf wisdom and desert elf endurance. The rest are correct as far as I've been able to determine.
You can find your wisdom pretty easily with the mana formula: ((wis-13)*3)+100. So if you have exactly 100 mana, you have 13 wisdom because ((13-13)*3)+100=100. If you have 94 mana, your wisdom is 11 because ((11-13)*3)+100=94. 103 mana means 14 wisdom, etc. Half-giants and muls get a flat penalty of -40 and -15 to mana.
|
|
|
Post by sitbackandchillout on May 27, 2020 18:26:17 GMT -5
Snip /* agility apply */ /* react, stealth_manip, carry number, missile bonus c_delay */ struct agl_app_type agl_app[101] = { {0, 0, 0, 0, 15}, /* 0 */ {-30, -50, 1, -30, 10}, {-20, -40, 2, -25, 8}, {-15, -30, 2, -20, 7}, /* 3 */ {-10, -25, 2, -15, 5}, {-5, -20, 3, -10, 5}, {-5, -15, 3, -5, 5}, /* 6 */ {0, -10, 4, -5, 4}, {0, -5, 4, 0, 4}, {0, 0, 5, 0, 4}, /* 9 */ {0, 0, 5, 0, 4}, {0, 0, 6, 0, 3}, {0, 0, 6, 0, 3}, /* 12 */ {0, 5, 7, 0, 3}, {0, 5, 7, 0, 3}, {0, 5, 8, 5, 3}, /* 15 */ {5, 10, 8, 5, 2}, {5, 15, 8, 5, 2}, {5, 20, 9, 10, 2}, /* 18 */ {10, 25, 9, 10, 2}, {10, 25, 9, 15, 2}, {10, 25, 10, 15, 2}, /* 21 */ {15, 25, 10, 20, 2}, {15, 30, 10, 20, 1}, {20, 35, 11, 25, 1}, /* 24 */ {25, 40, 12, 25, 1}, /* 25 */ {28, 40, 12, 28, 1}, /* endurance apply */ /* saving throws, system shock, move bonus */ struct end_app_type end_app[101] = { {-50, 0, 0}, /* 0 */ {-50, 10, 1}, /* 1 */ {-40, 20, 2}, {-30, 30, 3}, {-25, 40, 4}, {-20, 45, 5}, /* 5 */ {-15, 50, 6}, {-10, 55, 7}, {-5, 60, 8}, {0, 65, 9}, {0, 70, 10}, /* 10 */ {0, 75, 11}, {0, 80, 12}, {5, 85, 13}, {5, 88, 14}, {5, 90, 15}, /* 15 */ {10, 95, 17}, {15, 97, 19}, {20, 99, 21}, {25, 99, 23}, {25, 99, 25}, /* 20 */ {30, 99, 28}, {30, 99, 31}, /* wisdom apply */ /* learn, perception, saves */ struct wis_app_type wis_app[101] = { {0, 0, 0}, /* 0 */ {1, -30, -50}, {2, -20, -40}, {4, -15, -30}, /* 3 */ {6, -10, -25}, {8, -5, -20}, {10, -5, -15}, /* 6 */ {12, 0, -10}, {14, 0, -5}, {16, 0, 0}, /* 9 */ {18, 0, 0}, {20, 0, 0}, {24, 0, 0}, /* 12 */ {28, 0, 0}, {32, 0, 0}, {38, 0, 5}, /* 15 */ {44, 5, 10}, {50, 5, 15}, {56, 5, 20}, /* 18 */ {62, 10, 25}, {68, 10, 30}, {74, 10, 35}, /* 21 */ {80, 15, 40}, {86, 15, 45}, {92, 20, 50}, /* 24 */ {92, 20, 50}, /* 25 */ Wow, my man, this reply is heroic. Cannot express my appreciation enough, on behalf of the community as well as myself. Edited to ask a question. What are the saves mentioned above? Saves, system shock, saving throws etc.
|
|