|
Wisdom
Apr 30, 2018 5:48:06 GMT -5
Post by sirra on Apr 30, 2018 5:48:06 GMT -5
Just ride west out of Allanak, following the road. The sandy brick-red tarantulas are the best. They're north of the road at the far western end near the Oashite vineyard. There's a lot of em, they're hidden, and move in packs. They're better than stilt lizards but way more dangerous. If you're not mounted, they'll bash you and then another will join and eat your face. I never considered mounted combat as a way of avoiding bash. When do I know if I'm ready for spiders? Outside the various tankmage fuckery that has overtaken the game since I quit playing, Armageddon as I knew it, was all about mounted combat. There are a number of major advantages, like immunity to bash and mobility that come with it. Charge used to be god-tier, but even charge+trample is basically a ranger's bash+kick. I always make sure to have good ride on my serious combat characters (nomad/warriors, ranger/protectors, etc). It's hard to know when you're ready for spiders. They're very dangerous, and more people have died skilling up on those sandy bricks than anything else. But you also can't learn unless you try. In that sense, once you absolutely can't get a dodge anywhere else in the South and sparring does nothing for you, then it's about time to kick it up. The real beauty of spiders was that they were hidden, and by them either attacking me, or me attacking them, the first round or two of combat would happen under blindfighting, which gave a much increased possibility of missing. I've had characters for whom it was impossible for them to get a miss, except when blind fighting - cause there'll always be a chance to miss no matter what your skill/offense. I branched off a hiding rat in Luir's, once. (Albeit a huge, unlikely coincidence).
|
|
OT
Displaced Tuluki
Posts: 257
|
Wisdom
May 17, 2018 8:39:46 GMT -5
Post by OT on May 17, 2018 8:39:46 GMT -5
I was browsing the code (I'd rather do that than play the game) and stumbled upon something interesting that conflicts with what I believed. I didn't think wisdom played a significant role in combat skillgains, because I didn't notice any major difference in the time it took to raise skills whether I had low or high wisdom. But this piece of code seems to disagree: int gain_weapon_racetype_proficiency(CHAR_DATA * ch, int wtype, int rtype) { if ((wtype < 0) || (wtype > 7)) { wtype = 0; } if ((rtype > 0) && (rtype < 9)) { if (!has_skill(ch, skill_weap_rtype[rtype][wtype])) /* if (!(ch->skills[skill_weap_rtype[ rtype][wtype]] )) */ { [b]if (number(0, 100) <= wis_app[GET_WIS(ch)].learn)[/b] { init_skill(ch, skill_weap_rtype[rtype][wtype], 1);
/* if they don't normally get the skill, set it as taught */ if (get_max_skill(ch, skill_weap_rtype[rtype][wtype]) <= 0 set_skill_taught(ch, skill_weap_rtype[rtype][wtype]); } } else { gain_skill(ch, skill_weap_rtype[rtype][wtype], 1); According to that, it checks against your 'learn' substat to see if you gain a point in one of the hidden race-based offense skills, e.g. slashing vs. mammals. It rolls between 0 and 100, and if the roll comes out lower than your learn substat, you gain. Then let's look at what the learn values are for wisdom: /* 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 */ That's a pretty serious difference. If you roll poor wisdom, as many warriors do, you'll have a learn of something like 12ish. If you had high wisdom, it'll be 40-50ish. This means a high-wisdom character would need only a couple of misses on average to gain while a dumb character would need about 8-10. Now, this is for the hidden offense skills specifically and I couldn't find anything about weapon skills, but it seems logical that these would also use 'learn.' On the other hand, anyone with a good amount of combat experience knows that a high-wisdom character doesn't skill up several times faster than low-wis ones. It may be that this piece of code is unused, or that the hidden offense skills count for little enough that it's possible for one character to have far more than another without it being immediately obvious. That conflicts with my observations, though. Normally, playing combat characters for years lets you pick up on these things through sheer experience. Then there's skill timers. Wisdom appears to make a huge difference here as well: get_skill_wait_time(CHAR_DATA *ch, int sk ) { int wt = 0;
wt = 2 * MAX(8, 60 - wis_app[GET_WIS(ch)].learn + (ch->skills[sk]->learned / 7));
if ((skill[sk].sk_class == CLASS_COMBAT) || (skill[sk].sk_class == CLASS_WEAPON)) wt *= 2;
if (skill[sk].sk_class == CLASS_PSIONICS) wt *= 3;
Looking at this, someone with 12 learn (7 wisdom) and 40 slashing weapons should have a skill timer of up to 84 minutes. Someone with 44 learn (16 wisdom) would have a skill timer of up to 20 minutes. Double for combat skills and triple for psionics. That sounds... really improbable. A difference of over 400% would have been extremely noticeable to anybody; and that isn't even the highest possible human wisdom. Maybe another piece of broken, outdated code, but the codedump isn't that old and it doesn't contain conflicting information for skill timers. If all of the above is true, it should take a low-wisdom warrior like ten times longer to skill up, between the much lower chance to gain and the vastly longer timers. Clearly that's not the case, though. But does this mean that the codedump can't be trusted on most things? I've found a lot of the information to be accurate in many other contexts. Thoughts, sirra ?
|
|
sneazy
Clueless newb
Posts: 115
|
Wisdom
May 17, 2018 14:40:48 GMT -5
Post by sneazy on May 17, 2018 14:40:48 GMT -5
Talk, I do not. Hide, I do. Data, old is. Code, recent you see.
gamelogf("get_skill_wait_time - skill '%d', sk_class '%d', wis '%d', wis_app '%d', learned '%d', wt '%d'\n", sk, skill[sk].sk_class, GET_WIS(ch), wis_app[GET_WIS(ch)].learn, ch->skills[sk]->learned, wt); PC, I make str 16 very good agi 15 good wis 17 extremely good end 11 below average
Mods, game do. guild warrior/age 20 mods +1 -3 str 14 good 0 0 agi 15 good -1 -1 wis 15 very good +1 -1 end 11 below average
Reroll, I do. str 15 good agi 15 good wis 16 very good end 13 above avg
skills.h: sk_class 2 CLASS_COMBAT sk_class 12 CLASS_KNOWLEDGE sk_class 9 CLASS_WEAPON skill 120 SKILL_PARRY skill 293 BLUDGEON_VS_PLANT skill 140 PROF_BLUDGEONING
skill 127 SKILL_DUAL_WIELD
wis 16 wis_app 44 = 16 wt = 2 * 16 = 32 combat wt = 2 * 32 = 64
get_skill_wait_time - skill '120', sk_class '2', wis '16', wis_app '44', learned '5', wt '64' gain_skill: gained 1 points of skill in 'parry' (5 => 6) get_skill_wait_time - skill '293', sk_class '12', wis '16', wis_app '44', learned '1', wt '32' gain_skill: gained 1 points of skill in 'BLUDGEON_VS_PLANT' (1 => 2) - Problem, you see. get_skill_wait_time - skill '293', sk_class '12', wis '16', wis_app '44', learned '2', wt '32' get_skill_wait_time - skill '120', sk_class '2', wis '16', wis_app '44', learned '6', wt '64' get_skill_wait_time - skill '140', sk_class '9', wis '16', wis_app '44', learned '10', wt '68' gain_skill: gained 1 points of skill in 'bludgeoning weapons' (10 => 11) get_skill_wait_time - skill '293', sk_class '12', wis '16', wis_app '44', learned '2', wt '32' (assess): [49668] : "assess jozhal" (kick): [49668] : "kick" - 1/10 chance to skill, happen did not get_skill_wait_time - skill '293', sk_class '12', wis '16', wis_app '44', learned '2', wt '32' (bash): [49668] : "bash" <- 1/5 chance to skill, happen did not get_skill_wait_time - skill '293', sk_class '12', wis '16', wis_app '44', learned '2', wt '32' get_skill_wait_time - skill '120', sk_class '2', wis '16', wis_app '44', learned '6', wt '64'
change wis to 7 wis 7 wis_app 12 = 48 wt = 2 * 48 = 96 combat wt = 2 * 96 = 192
kick wt = 2*(48 + 15/7) = 2*(48+2) = 100 combat wt = 2 * 100 = 200
every 7 combat skill adds 4 minutes to wait.
(kick): [49627] : "kick" get_skill_wait_time - skill '116', sk_class '2', wis '7', wis_app '12', learned '15', wt '200' gained 1 points of skill in 'kick' (15 => 16) get_skill_wait_time - skill '127', sk_class '2', wis '7', wis_app '12', learned '10', wt '196' gain_skill: gained 1 points of skill in 'dual wield' (10 => 11) get_skill_wait_time - skill '120', sk_class '2', wis '7', wis_app '12', learned '6', wt '192' get_skill_wait_time - skill '293', sk_class '12', wis '7', wis_app '12', learned '2', wt '96'
(deleted many lines)
Done, I am.
|
|
OT
Displaced Tuluki
Posts: 257
|
Wisdom
May 17, 2018 15:52:32 GMT -5
Post by OT on May 17, 2018 15:52:32 GMT -5
Thanks, Yoda. Those stat values are not what I would have guessed. I was fairly sure that average was about 10, but if below average is 11, I was certainly wrong.
Do you have any insight on wisdom's influence on chance to gain weapon skills?
And if I may present a short wishlist, could we get the actual stat ranges for all the playable races, the real formula for hp/stun rolls, and the code behind AI rolls? Having created over 50 warriors and never rolled an AI, I'm very curious about this. We know it's easy on a pickpocket, yet for warriors it appears to be possible but bizarrely rare.
Then again, you could be anyone and we have no way of verifying that your data is correct.
|
|
Deleted
Deleted Member
Posts: 0
|
Wisdom
May 17, 2018 17:28:57 GMT -5
Post by Deleted on May 17, 2018 17:28:57 GMT -5
Thanks, Yoda. Those stat values are not what I would have guessed. I was fairly sure that average was about 10, but if below average is 11, I was certainly wrong. Do you have any insight on wisdom's influence on chance to gain weapon skills? And if I may present a short wishlist, could we get the actual stat ranges for all the playable races, the real formula for hp/stun rolls, and the code behind AI rolls? Having created over 50 warriors and never rolled an AI, I'm very curious about this. We know it's easy on a pickpocket, yet for warriors it appears to be possible but bizarrely rare. Then again, you could be anyone and we have no way of verifying that your data is correct. In 2010 a staff member confirmed to me that there is a cap of extremely good on naturally rolled stats. There is then a modifier for age, guild, and subguild. I think subguild is the missing variable you need to find in the code. I've had precisely one AI str, with a warrior/forester. I have had a very large number of exceptional str warriors and burglars with forester and thug. The other stat I use to test subguilds is wisdom on a warrior. I've had exactly two warriors with an egood wisdom. One was a grebber. The other was linguist. If subguild is the missing factor, this would suggest some research with the extended subguilds. Due to long term spreadsheet tracking, I am sure beyond a shadow of a doubt that city elf egood wisdom on a warrior results in a 24 minute or less timer, at least through advanced skill.
|
|
julio
Displaced Tuluki
Posts: 270
|
Wisdom
May 17, 2018 22:07:49 GMT -5
via mobile
Post by julio on May 17, 2018 22:07:49 GMT -5
You need to make a how to twink guide.
|
|
|
Post by sirra on Jun 26, 2018 19:09:11 GMT -5
I was browsing the code (I'd rather do that than play the game) and stumbled upon something interesting that conflicts with what I believed. I didn't think wisdom played a significant role in combat skillgains, because I didn't notice any major difference in the time it took to raise skills whether I had low or high wisdom. But this piece of code seems to disagree: int gain_weapon_racetype_proficiency(CHAR_DATA * ch, int wtype, int rtype) { if ((wtype < 0) || (wtype > 7)) { wtype = 0; } if ((rtype > 0) && (rtype < 9)) { if (!has_skill(ch, skill_weap_rtype[rtype][wtype])) /* if (!(ch->skills[skill_weap_rtype[ rtype][wtype]] )) */ { [b]if (number(0, 100) <= wis_app[GET_WIS(ch)].learn)[/b] { init_skill(ch, skill_weap_rtype[rtype][wtype], 1);
/* if they don't normally get the skill, set it as taught */ if (get_max_skill(ch, skill_weap_rtype[rtype][wtype]) <= 0 set_skill_taught(ch, skill_weap_rtype[rtype][wtype]); } } else { gain_skill(ch, skill_weap_rtype[rtype][wtype], 1); According to that, it checks against your 'learn' substat to see if you gain a point in one of the hidden race-based offense skills, e.g. slashing vs. mammals. It rolls between 0 and 100, and if the roll comes out lower than your learn substat, you gain. Then let's look at what the learn values are for wisdom: /* 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 */ That's a pretty serious difference. If you roll poor wisdom, as many warriors do, you'll have a learn of something like 12ish. If you had high wisdom, it'll be 40-50ish. This means a high-wisdom character would need only a couple of misses on average to gain while a dumb character would need about 8-10. Now, this is for the hidden offense skills specifically and I couldn't find anything about weapon skills, but it seems logical that these would also use 'learn.' On the other hand, anyone with a good amount of combat experience knows that a high-wisdom character doesn't skill up several times faster than low-wis ones. It may be that this piece of code is unused, or that the hidden offense skills count for little enough that it's possible for one character to have far more than another without it being immediately obvious. That conflicts with my observations, though. Normally, playing combat characters for years lets you pick up on these things through sheer experience. Then there's skill timers. Wisdom appears to make a huge difference here as well: get_skill_wait_time(CHAR_DATA *ch, int sk ) { int wt = 0;
wt = 2 * MAX(8, 60 - wis_app[GET_WIS(ch)].learn + (ch->skills[sk]->learned / 7));
if ((skill[sk].sk_class == CLASS_COMBAT) || (skill[sk].sk_class == CLASS_WEAPON)) wt *= 2;
if (skill[sk].sk_class == CLASS_PSIONICS) wt *= 3;
Looking at this, someone with 12 learn (7 wisdom) and 40 slashing weapons should have a skill timer of up to 84 minutes. Someone with 44 learn (16 wisdom) would have a skill timer of up to 20 minutes. Double for combat skills and triple for psionics. That sounds... really improbable. A difference of over 400% would have been extremely noticeable to anybody; and that isn't even the highest possible human wisdom. Maybe another piece of broken, outdated code, but the codedump isn't that old and it doesn't contain conflicting information for skill timers. If all of the above is true, it should take a low-wisdom warrior like ten times longer to skill up, between the much lower chance to gain and the vastly longer timers. Clearly that's not the case, though. But does this mean that the codedump can't be trusted on most things? I've found a lot of the information to be accurate in many other contexts. Thoughts, sirra ? The main reason for the discrepancy is that in Armageddon, the main driver of skill growth has always been whether you CAN get misses/failures. Not how many you get. It's been taken for granted, as long as I can remember, that you should get like 15-20 misses with a weapon before switching it, while training. So it didn't really matter whether it was an elf learning it in 2-4 misses, or a dwarf learning it in 15. As long as you were fighting something you could get misses on, you would advance. The problem is that in Armageddon, you rapidly hit a place where it's virtually impossible to miss (usually while still in your early 40s skill wise), without fighting a couple specific types of mobs using specifically dodgy tactics. Anyone playing the game as it was 'meant to' would never ever branch a weapon skill. This is entirely different from the philosophy used for magick skills. Where it's quite easy to max everything with a minimum of fuss.
|
|
|
Wisdom
Jul 14, 2018 8:08:35 GMT -5
Post by dungpile on Jul 14, 2018 8:08:35 GMT -5
I was browsing the code (I'd rather do that than play the game) and stumbled upon something interesting that conflicts with what I believed. I didn't think wisdom played a significant role in combat skillgains, because I didn't notice any major difference in the time it took to raise skills whether I had low or high wisdom. But this piece of code seems to disagree: int gain_weapon_racetype_proficiency(CHAR_DATA * ch, int wtype, int rtype) { if ((wtype < 0) || (wtype > 7)) { wtype = 0; } if ((rtype > 0) && (rtype < 9)) { if (!has_skill(ch, skill_weap_rtype[rtype][wtype])) /* if (!(ch->skills[skill_weap_rtype[ rtype][wtype]] )) */ { [b]if (number(0, 100) <= wis_app[GET_WIS(ch)].learn)[/b] { init_skill(ch, skill_weap_rtype[rtype][wtype], 1);
/* if they don't normally get the skill, set it as taught */ if (get_max_skill(ch, skill_weap_rtype[rtype][wtype]) <= 0 set_skill_taught(ch, skill_weap_rtype[rtype][wtype]); } } else { gain_skill(ch, skill_weap_rtype[rtype][wtype], 1); According to that, it checks against your 'learn' substat to see if you gain a point in one of the hidden race-based offense skills, e.g. slashing vs. mammals. It rolls between 0 and 100, and if the roll comes out lower than your learn substat, you gain. I think you are reading that part wrong. The check against your learn score only applies if you fail has_skill, so this is not about gains in general but specifically about the situation where you do not already have SLASHING VS MAMMALS and are rolling for the chance to open the skill (init_skill). So people with higher wisdom are more likely to open a hidden skill, but it's irrelevant unless you only face that type of situation infrequently: otherwise you'll open it eventually, too.
|
|
|
Wisdom
Jul 14, 2018 21:16:07 GMT -5
Post by lechuck on Jul 14, 2018 21:16:07 GMT -5
The codedump hasn't got anything in it about chance to increase weaponskills, but I played a human ranger with extremely good wisdom and branched parry at 8 days played and hit advanced piercing at 9. Took some grinding but it's still a lot faster than what I've normally seen. I think wisdom has a pretty big influence on skill timers, so if you have the ability to get failures often, wisdom will help a great deal. People used to think that skill timers were simply 60 minutes minus your wisdom score, but that seems to have been disproven.
|
|