Djeryv
Member
Sure. Let's pick it apart with your information here...
int nCap = (int)(from.Skills.Cap/100);
e.g. 100,000 / 100 = 1000 nCap is 1000
if ( nCap > 100 ){ nCap = 100; }
so nCap = 100 nCap is set back to 100
int nTotal = from.SkillsTotal;
e.g. ntotal = 3000 This shows me that the character has 300 skills gained so far
if ( nTotal > (nCap*100) ){ nTotal = nCap*100; }
e.g. if (3000 > (100*100 // e.g. 10,000) // does not apply here, 3000 is lower than 10000 Correct
int nSkills = nTotal / nCap;
e.g. nskills = 3000 / 100
or = 30 Correct
So this "30" nSkills value gets passed to the NPC creation part like in this one...
new HenchmanMonster( HenchBody, nMounted, nSkills, nStats, HenchWeaponID, HenchShieldID );
So when the NPC is created, they will have a 30 in every skill they are assigned.
The stat cap does not have this property in the code, however, but I don't think you can max that up too high where it would break anything.
I just made a henchman to confirm, and their stats also calculated with the player character. A balron just killed them. Let me try one of your tests you proposed.
Ok, I tried one of your tests and the henchman has the skills they should have...even with a 100,000 skill cap. So the math in the code is correct. Now I gave him 100 bandages so with his 100 healing he is taking the damage from the balron...but he is slowly killing the balron and not an all out slaughter like you described. To be fair, the henchman is killing the balron as fast as my 10,000 skill cap character would...but I see the healing being quick with those bandages.
Funny. I use the Magic Resist skill to determine healing skill. It doesn't affect the outcome, but I am trying to remember why I did it that way.
So it looks like the bandage thing should be scaled back like you mentioned. Let me look at the bandage rates online to see what the range is.
int nCap = (int)(from.Skills.Cap/100);
e.g. 100,000 / 100 = 1000 nCap is 1000
if ( nCap > 100 ){ nCap = 100; }
so nCap = 100 nCap is set back to 100
int nTotal = from.SkillsTotal;
e.g. ntotal = 3000 This shows me that the character has 300 skills gained so far
if ( nTotal > (nCap*100) ){ nTotal = nCap*100; }
e.g. if (3000 > (100*100 // e.g. 10,000) // does not apply here, 3000 is lower than 10000 Correct
int nSkills = nTotal / nCap;
e.g. nskills = 3000 / 100
or = 30 Correct
So this "30" nSkills value gets passed to the NPC creation part like in this one...
new HenchmanMonster( HenchBody, nMounted, nSkills, nStats, HenchWeaponID, HenchShieldID );
So when the NPC is created, they will have a 30 in every skill they are assigned.
The stat cap does not have this property in the code, however, but I don't think you can max that up too high where it would break anything.
Post automatically merged:
I just made a henchman to confirm, and their stats also calculated with the player character. A balron just killed them. Let me try one of your tests you proposed.
Post automatically merged:
Ok, I tried one of your tests and the henchman has the skills they should have...even with a 100,000 skill cap. So the math in the code is correct. Now I gave him 100 bandages so with his 100 healing he is taking the damage from the balron...but he is slowly killing the balron and not an all out slaughter like you described. To be fair, the henchman is killing the balron as fast as my 10,000 skill cap character would...but I see the healing being quick with those bandages.
Post automatically merged:
Funny. I use the Magic Resist skill to determine healing skill. It doesn't affect the outcome, but I am trying to remember why I did it that way.
Post automatically merged:
So it looks like the bandage thing should be scaled back like you mentioned. Let me look at the bandage rates online to see what the range is.
Last edited: