Heroes of Might and Magic Community
visiting hero! Register | Today's Posts | Games | Search! | FAQ/Rules | AvatarList | MemberList | Profile


Age of Heroes Headlines:  
5 Oct 2016: Heroes VII development comes to an end.. - read more
6 Aug 2016: Troubled Heroes VII Expansion Release - read more
26 Apr 2016: Heroes VII XPack - Trial by Fire - Coming out in June! - read more
17 Apr 2016: Global Alternative Creatures MOD for H7 after 1.8 Patch! - read more
7 Mar 2016: Romero launches a Piano Sonata Album Kickstarter! - read more
19 Feb 2016: Heroes 5.5 RC6, Heroes VII patch 1.7 are out! - read more
13 Jan 2016: Horn of the Abyss 1.4 Available for Download! - read more
17 Dec 2015: Heroes 5.5 update, 1.6 out for H7 - read more
23 Nov 2015: H7 1.4 & 1.5 patches Released - read more
31 Oct 2015: First H7 patches are out, End of DoC development - read more
5 Oct 2016: Heroes VII development comes to an end.. - read more
[X] Remove Ads
LOGIN:     Username:     Password:         [ Register ]
HOMM1: info forum | HOMM2: info forum | HOMM3: info mods forum | HOMM4: info CTG forum | HOMM5: info mods forum | MMH6: wiki forum | MMH7: wiki forum
Heroes Community > Library of Enlightenment > Thread: Primary skills limited to 99
Thread: Primary skills limited to 99 This thread is 2 pages long: 1 2 · NEXT»
Ecoris
Ecoris


Promising
Supreme Hero
posted May 06, 2006 04:41 PM

Primary skills limited to 99

Has anyone noticed? A hero's primary skills cannot be higher than 99...

I found out when visiting a library of enlightment. My spell power increased from 98 to 99. It's not just beacause it cannot display more than two digits, when i visited another my magic arrow still dealt 1020 points of damage.
Sorcery/magic orbs are the only way to increase damage further.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
russ
russ


Promising
Supreme Hero
blah, blah, blah
posted May 08, 2006 04:21 PM

Or another way to notice it would be to customize a hero via the Map Editor. You'll notice that you can't set it to more than 99. The experience will be limited to 2^31 - 1.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Ecoris
Ecoris


Promising
Supreme Hero
posted May 08, 2006 07:08 PM

Yes, the mep editor will only allow you to enter 2 digits in the primary skills fields. However I can only enter 8 digits into the XP field, but 2^31 - 1 = 2,147,483,647 therefore it did not have to be the limit. At least my spell power was not reduced to a negative number

I did some tests:

While gathering information for a table including experience needed to reach level X something curios happened.
I was using Trees of Knowledge to advance levels and I had reached level 74. XP to next level was 1,810,034,207. But when I visited the next tree I did not only advance to level 75 but but after that also to level 76, 77, etc. until my hero had reached level 88 and each I received +1 to one of the primary skills. It seems as if all the levels from level 75 to 88 require the same amount of XP.
My XP was then 1,810,034,207 and right-clicking showed that I would need a total of 2,073,739,175 to advance to the next level, however after visting the next tree my hero did not advance to level 89 (after having accepted to pay the 2000 gold pieces nothing more happened, no stat bonus). Instead my hero was now level 0 and her XP was -707,654,487. XP required to next level was 0.
Visiting the next tree did not raise XP to 0 but instead only to -707,654,697 a gain of 210 points and the next 4 trees only gave another 105 each.

Experimenting a bit further with a coulpe of pandora's boxes of 99,999,999 XP (the maximum allowed in the editor) my hero's XP was raised to -1 (even though you enter 99,999,999 you receive 100,000,000), and after having gained another point she advanced to level 1, and could continue to gain new levels just like usual (1000 points to level 2 etc).

However: I also tried not visiting a tree of knowledge at level 88 but instead I used some boxes to increase it 2,073,739,174 (one less than required to advance). The next box gave me 1 point and I advanced all the way to level 100.
Visiting a tree would decrease my XP to a negative value. Instead I used a few more boxes.
The amount of XP required to reach level 101 was 2,099,639,276 (actually i would need less XP this time). I raised it to 2,099,639,275 and then to 2,099,639,276 and advanced several levels again ending up at level 108.
Visiting a tree of knowledge would reduce my XP but I would only drop to level 65.
So I tried the boxes again, raising my XP to 2,144,641,867 one point less than needed to reach level 109. Another box gave me the last point and I started gaining levels.
I don't know how long this will continue (possibly) forever, and I terminated the program when I had reached level 512 at which time I was still advancing.

The amount of XP I had reached is still a little below the XP cap you mentioned russ 2,147,483,647.
I am not allowed to enter this number in the map editor. Are you? And what level will the hero then start at?

I'm also wondering what formula they use for computing XP required.
If anyone wants the XP/Level table I can post it. And if I knew how to I would upload a graph.



 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
russ
russ


Promising
Supreme Hero
blah, blah, blah
posted May 08, 2006 07:21 PM
Edited by russ at 19:27, 08 May 2006.

I've never tried setting my XP so high in the editor. Experience is a 32-bit int and a 32-bit int ranges from -2^31 to 2^31 - 1. This is why I said it is 2^31 - 1. The first significant bit (i.e. the 32-nd bit) denotes the sign, so after going over 2^31 - 1 you end up with negative experience. Obviously this WAS NOT intended to happen, so you should not get any logical results testing the negative experience.

I don't really know how many xp points you need to get on each level. I think it is hardcoded up to a certain level (10 or so) and then it is an exponential function, but I am not sure. Maybe you can shine some light on this.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Binabik
Binabik


Responsible
Legendary Hero
posted May 08, 2006 09:34 PM

I posted about this somewhere, but don't remember where.

Yea, it's a 31 bit number, plus a sign bit. My test results were similar to Ecoris. You can get to a certain level (74 sounds about right, but I don't remember for sure), you suddenly jump several levels at once. Then next time you jump several more levels. Then it goes to negative experience.

The thing is that this happens BEFORE you reach 2^31-1. My theory is this:

I think Russ is correct that the experience to reach the next level is calculated, rather than using a table. So even though the experience itself is still below 2^31-1, some intermediate result during the calculations goes over the limit. So you get wierd results.
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Ecoris
Ecoris


Promising
Supreme Hero
posted May 08, 2006 10:03 PM

Well, it's like i described. The exponential function sounds like a good suggestion at some point. Perhaps I'll look into this one of the coming days. I'll post my results below so that others may investigate this too.
Hope it doesn't look awful:

Level   XP required
1 0
2 1000
3 2000
4 3200
5 4600
6 6200
7 8000
8 10000
9 12200
10 14700
11 17500
12 20600
13 24320
14 28784
15 34140
16 40567
17 48279
18 57533
19 68637
20 81961
21 97949
22 117134
23 140156
24 167782
25 200933
26 240714
27 288451
28 345735
29 414475
30 496963
31 595948
32 714730
33 857268
34 1028313
35 1233567
36 1479871
37 1775435
38 2130111
39 2555722
40 3066455
41 3678334
42 4414788
43 5297332
44 6356384
45 7627246
46 9152280
47 10982320
48 13178368
49 15813625
50 18975933
51 22770702
52 27324424
53 32788890
54 39346249
55 47215079
56 56657675
57 67988790
58 81586128
59 97902933
60 117483099
61 140979298
62 169174736
63 203009261
64 243610691
65 292332407
66 350798466
67 420957736
68 505148860
69 606178208
70 727413425
71 872895685
72 1047474397
73 1256968851
74 1508362195
75 1810034207
76 1810034207
77 1810034207
78 1810034207
79 1810034207
80 1810034207
81 1810034207
82 1810034207
83 1810034207
84 1810034207
85 1810034207
86 1810034207
87 1810034207
88 1810034207
89 2073739175
90 2073739175
91 2073739175
92 2073739175
93 2073739175
94 2073739175
95 2073739175
96 2073739175
97 2073739175
98 2073739175
99 2073739175
100 2073739175
101 2099639276
102 2099639276
103 2099639276
104 2099639276
105 2099639276
106 2099639276
107 2099639276
108 2099639276
109 2144641867
to ? at least 512

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Binabik
Binabik


Responsible
Legendary Hero
posted May 08, 2006 10:57 PM

I put those numbers in Excel and figured it out.

Up to level 12 uses a chart. After level 12 it is 20% addtional XP needed per level.

Example:

To go from level 12 to 13 you need 3720 XP.
From 13 to 14 you need 3720 * 1.2 = 4464 XP.
From 14 to 15 you need 4464 * 1.2 = 5356 XP

____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Ecoris
Ecoris


Promising
Supreme Hero
posted May 09, 2006 05:26 PM

Yes, I reached the same conclusion. If it takes X experience points to increase from level n to level n+1 it takes 1.2*X experience points to increase from level n+1 to level n+2. (Round down).
At the lower levels the addtitional XP needed increases by 200 and later by 300 for each level.

When a hero advances to level 75 the additional XP required to reach level 76 is computed to 301672012. This value plus the total value needed to reach level 75 exceeds 2^31 - 1 so the total amount of XP required to reach level 76 will become negative. And the hero will continue to gain levels as long as his XP is >= required XP. (I suspect required XP will be set to 0 if it becomes negative; this happened if I visited a tree at level 89. My XP became negative, I was reduced to level 0 and XP  required to reach next level ( 1 ) was 0).

I tried implementing the level counter / required XP updater in Java, and I managed to leap from level 74 to 81, but not to level 89. In many cases I gained 50 levels (at which point it stopped to prevent infinite loops).

I guess the algorithm is more complicated than this.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
russ
russ


Promising
Supreme Hero
blah, blah, blah
posted May 09, 2006 05:59 PM

Nah, I am sure the algorithm it very simple. I think it should be easier to simulate in C++ (if you really want to do it), because Java's JVM might be handling the overflows. I don't think there is anything to handle those in a compiled C++ program.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
sick_46_boy
sick_46_boy


Known Hero
*Lord of the bones*
posted May 09, 2006 06:12 PM

Level 116

One time I play XL map cow and chicken and I was at level 116,but after I pass primary skil 99-99-99-99 it start from begining and my exp was in minus!??And I dont know how theat hapend.
Is enyone know how explain theat??
____________
Once I used to be what you are now! And you will become what I am!"

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Ecoris
Ecoris


Promising
Supreme Hero
posted May 09, 2006 06:42 PM

Yes, when you pass the XP cap your XP becomes negative your level is set to 0 and XP required to reach level 1 is set to zero.

Quote:
I was at level 116


Are you sure? In my experiment reaching level 109 would result in an infinite loop where you continued to gain levels (at least to level 512). Your primary skills however are unaffected, though the effect of the hero's speciality is reduced to teh effect at level one.

@russ. I don't think the algotithm is very complex but it has to check if your hero is in the low levels (up to 12) and it may even reset the level so it is not just level++.
I think really don't know how Java treats overflows but it seemed like it ignored them just like I want it to and I haven't got any experience with C++
Here is what i tried:


package IntegerTest;

public class driver {

public static void main(String[] args) {

int level,  // current level
XP, // current experience
XPdiff, // additional experience needed to reach next level
XPnext; // total experience needed to reach next level

// Init values:
level = 74; // starting level
XP =     1508362195; // at level 74
XPdiff =  301672012; // additional experience needed to reach level 75
XPnext = 1810034207;

System.out.println("Current XP            : " + XP + "\n" +
  "Current level         : " + level + "\n" +
  "XP needed to level " + (level+1) + " : " + XPnext + "\n");

XP += XPdiff; // The hero gains some XP

int kmax = 50; // To avoid infinite loop
int k = 1;
// Advance levels. Maybe several times
while (XPnext <= XP && k < kmax) {
k++;
level++; // advance a level

// Update XPdiff and XPnext
//if (XPdiff > 0 ) {
 XPdiff = (int)(1.2*XPdiff);
//}

XPnext += XPdiff;
if (XPnext<0) {
XPnext = 0;
}

// Print results:
System.out.println("Current XP            : " + XP + "\n" +
  "Current level         : " + level      + "\n" +
  "XP needed to level " + (level+1) + " : " + XPnext + "\n");
} // end while

}
}


And the result:


Current XP            : 1508362195
Current level         : 74
XP needed to level 75 : 1810034207

Current XP            : 1810034207
Current level         : 75
XP needed to level 76 : 0

Current XP            : 1810034207
Current level         : 76
XP needed to level 77 : 434407696

Current XP            : 1810034207
Current level         : 77
XP needed to level 78 : 955696931

Current XP            : 1810034207
Current level         : 78
XP needed to level 79 : 1581244013

Current XP            : 1810034207
Current level         : 79
XP needed to level 80 : 0

Current XP            : 1810034207
Current level         : 80
XP needed to level 81 : 900787797

Current XP            : 1810034207
Current level         : 81
XP needed to level 82 : 1981733153


The loop will become infinite if XPnext is allowed to be negative.
However i guess the algorithm looks something like that above (of course low levels need to be dealt with).

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Binabik
Binabik


Responsible
Legendary Hero
posted May 09, 2006 08:16 PM

Sick Boy, what version of HOMM are you using. I have read that in ROE the primary skills went to zero after reaching 99. I haven't seen this myself and don't know which version/patch fixed this bug.
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
pol
pol


Known Hero
.^.
posted May 09, 2006 10:20 PM
Edited by pol at 22:48, 09 May 2006.

But really it was RoE bug, don't know when it was fixed though.

Something for illustration...
big
This is from WoG, tested by going over events with maximal value, the advancement was non-linear and seems to fit till 109-512 jump which wasn't looked like that it happens. (more exactly 75-85jump then for while nothing, reseted to zero, 0-56, 87-108, reseted 75-88 jump, )

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
sick_46_boy
sick_46_boy


Known Hero
*Lord of the bones*
posted May 11, 2006 04:15 PM

Ok"Ecoris" I dont know how to explain butt I now try to repeat theat and I done it,butt I dont know how to insert image on this reply.In my left corner I see something beyond"font:italic" it is"insert image" butt when I click on theat it sey to me"where is your image" and beyond theat is box with "http:\\" I dont know what I must do,I try evrything and nothing pleas help me with step by step so theat I can put my images.!
____________
Once I used to be what you are now! And you will become what I am!"

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Ecoris
Ecoris


Promising
Supreme Hero
posted May 11, 2006 04:41 PM

Your image has to be available on a server. You can't just upload it directly. Then you write the adress between the square brackets. I don't know wether HC has an image server but any server will do.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
sick_46_boy
sick_46_boy


Known Hero
*Lord of the bones*
posted May 12, 2006 12:50 AM

Quote:
Sick Boy, what version of HOMM are you using. I have read that in ROE the primary skills went to zero after reaching 99. I haven't seen this myself and don't know which version/patch fixed this bug.



I hawe H3 complet edition with  WoG PATCH 3.56, in the ROE theat never hapend to me coz I newer reach such big skills and I even not try to do theat.Theat hapens to me in AB and now I trying in WOG to see how far I can go with levels.
____________
Once I used to be what you are now! And you will become what I am!"

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
LegendMaker
LegendMaker


Promising
Famous Hero
The Metal Specialist
posted May 12, 2006 02:38 AM
Edited by LegendMaker at 02:42, 12 May 2006.

Test Club REVIVED ?

Lol hi Ecoris, pleased to meet you. Are you doing a sort of retesting project or something ?

Well, I'm neither in the mood nor available enough these days to join the fun and run some more tests. Anyways, it's good to see someone posting tests again, and even better that it jumpstarts healthy technical debates.

Bin, the original place you "posted it" was near the bottom of my second post on this page !

See our memories are blurring away pretty fast. Ha, we had fun, didn't we ? All those testings and enthusiasm ! <<Those were the days, my friend, we thought it'd never end...>> Lmao

PS : @ Dimis : This also reminds me that I have yet to thoroughly read the enormous essays you posted about Heroes' Stats and Skills while I was self-exiled !
____________
LM

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Ecoris
Ecoris


Promising
Supreme Hero
posted May 12, 2006 11:48 AM

Well I'm not planning to do any large scale tests like the "Heroes stats and skill chances", though I guess most of the things worth testing have been tested already. But i have a few ideas.
Yesterday I tested the effect of having mysticism as a speciality. (If anyone ever considers using Halon, Jeagar or Axsis). I found this interesting since the 5% per level bonus is easy to understand when applied to %-skills like logotics, sorcery, inteligence etc.
I'm wondering what effect of having a spell as a speciality is, perhaps I'll test this one day if it hasn't been done already. Has anyone done this?

But let me return to the results of the mysticism test. If anyone has forgotten (which might be likely since mysticism is an awful skill noone ever selects, at least I would never select it myself) a hero with no mysticism regenerates 1 SP per day. Mysticism raises this to 2, 3 or 4. Basic, advanced and expert respectively, it does not work like an additional bonus.
I did my tests with Jaegar. At level 1 with basic mysticism he regenerates 3 SP: 2*(1+1*0,05) = 2.1. This suggests that the value is rounded to the nearest greater integer.
This turned out to be nearly true in general: At level 20 with advanced mysticism regeneration was 7! At level 20 the skill effect is doubled but then regeneration should have been 6. The formula is:

regeneration = Int( x * (1 + n*0,05)) + 1

where n denotes the level and x is the base regeneration (2, 3 or 4). The formula gave the correct result even at level 0. The regeneration at level 0 with expert mysticism was 5 not 4. This suggest that the +1 is not caused by the computer's rounding errors (e.g. the regeneration at level 20 calculated to 6,00000000001). Probably there is an error in the "round to nearest integer greater than or equal to regeneration" - method in the case where the regeneration becomes an integer.

The results concerning XP/level at least shows that Learning is the worst secondary skill: It will at most increase the hero's level by one, because the total XP required to reach level n+1 is greater than 1,15 times the XP required to reach level n.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Rhodan
Rhodan


Adventuring Hero
from Holland
posted May 13, 2006 02:16 PM

Minor thing: are you sure about the formula?

regeneration = Int( x * (1 + n*0,05)) + 1

Discussed earlier was that it's not a growth, but a power. I suggest this formula...

regeneration = Int( x * (1 + n^0,05)) + 1

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
LegendMaker
LegendMaker


Promising
Famous Hero
The Metal Specialist
posted May 13, 2006 04:43 PM
Edited by LegendMaker at 16:46, 13 May 2006.

Spell Specialists

Quote:
I'm wondering what effect of having a spell as a speciality is, perhaps I'll test this one day if it hasn't been done already. Has anyone done this?
Back in the happy happy days of the Not in the Manual thread's glory, Xarfax made a bunch of tests for at least the following spell specialists : Solmyr, Terek, Loynis. Those three were then checked and retested by either me or Bin, and made it to the final version of our tavern rumors project. Some more tests have been made during one of Angel's Weekly Library Questions session, also including Brissa (exactly the same as Terek).

According to Loynis, his specialty gives an extra +3 speed to level 1-2, +2 speed to Level 3-4, +1 speed to level 5-6, but no extra speed to level 7. (Xarfax)

Verified by Bin :

Tested OK. Applies to att/def also. Note that the increase is in *addition* to the normal spell increase. The level and Spell Power of Loynis doesn't matter.

Terek claims his specialty gives an additional +3 speed to level 1-2, +2 speed to level 3-4, +1 speed to level 5-6 and no extra speed to level 7. (Xarfax)

Verified by Bin :

Tested OK. (No comment).

Solmyr is my good friend. He just told me his Chain lightning did very little additional damage to level 7 creatures! (Xarfax)

Verified by me :

OKAY as is. Well, I’ll let you make yourselves an opinion on these results :



To me it’s clear it DOES have an effect on Level 7. But the “almost” part makes up for the relatively puny impact it has compared to when you cast it on Level 1.

ALL those testings lead to the conclusion that Spell Specialists only give a FIXED bonus to their fetish spell, depending on the level of the targetted creatures and nothing else (which really sucks bad and is very far removed from making them "da BOMB" like most of us used to think back in our noobie days !).
____________
LM

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Jump To: « Prev Thread . . . Next Thread » This thread is 2 pages long: 1 2 · NEXT»
Post New Poll    Post New Topic    Post New Reply

Page compiled in 0.0840 seconds