Double Influence, No XP?


Aggelakis

 

Posted

Quote:
Originally Posted by Derangedpolygot View Post
Ow...my Brain...
Really? *re-evaluates the amount of useless (editors note: useless... until it is super-useful) info stored in my brain*

Quote:
Originally Posted by pohsyb View Post
I can't believe no one noticed this earlier!

Since everyone loved my last bug explanation:

Level capped experience being converted into influence was broken because of an off by one error. (49 is never >= to 50)

Exemplaring converting experience into influence was broken because the experience was being added to influence before influence was being set (note these lines were a lot further apart):
Influence += Reward->Experience;
Influence = Reward->Influence;
GiveInfluence( Player, Influence );
Oops, I guess. Looks like a mistake I would make (though unless I find a time machine in the future and change my identity, I'm pretty sure it wasn't me).


@Morac | Twitter
Trust the computer. The computer knows all.

 

Posted

You know, with all these bugs that are cropping up from I16 I'm beginning to suspect the devs are trying to lure over some Champions Online players by providing them a familiar game experience...

(Though if that's the case, they'll need to add a lot more bugs...)


Cascade, level 50 Blaster (NRG/NRG since before it was cool)
Mechmeister, level 50 Bots / Traps MM
FAR too many non-50 alts to name

[u]Arcs[u]
The Scavenger Hunt: 187076
The Instant Lair Delivery Service: 206636

 

Posted

Quote:
Originally Posted by pohsyb View Post
I can't believe no one noticed this earlier!

Since everyone loved my last bug explanation:

Level capped experience being converted into influence was broken because of an off by one error. (49 is never >= to 50)

Exemplaring converting experience into influence was broken because the experience was being added to influence before influence was being set (note these lines were a lot further apart):
Influence += Reward->Experience;
Influence = Reward->Influence;
GiveInfluence( Player, Influence );

Will this be fixed before double xp weekend?


 

Posted

Quote:
Originally Posted by pohsyb View Post
I can't believe no one noticed this earlier!

Since everyone loved my last bug explanation:

Level capped experience being converted into influence was broken because of an off by one error. (49 is never >= to 50)

Exemplaring converting experience into influence was broken because the experience was being added to influence before influence was being set (note these lines were a lot further apart):
Influence += Reward->Experience;
Influence = Reward->Influence;
GiveInfluence( Player, Influence );
I kind of expected this sort of thing when I found out issue 16 was going to be power customization. When one goes digging around in underlying code that hasn't been touched in years, who knows what bugs will get exposed to the light of day.

Good to see you guys are managing to track them down, and I'm glad it's not me


"I reject your reality and substitute my own!" Adam Savage from Mythbusters

 

Posted

Quote:
Originally Posted by pohsyb View Post
I can't believe no one noticed this earlier!

Since everyone loved my last bug explanation:

Level capped experience being converted into influence was broken because of an off by one error. (49 is never >= to 50)

Exemplaring converting experience into influence was broken because the experience was being added to influence before influence was being set (note these lines were a lot further apart):
Influence += Reward->Experience;
Influence = Reward->Influence;
GiveInfluence( Player, Influence );
This explanation make me feel warm like returning home...lol
Gotta love debugging....

Original_Prankster->Profession === Programmer

:-)


 

Posted

Quote:
Originally Posted by pohsyb View Post
(note these lines were a lot further apart):
Influence += Reward->Experience;
Influence = Reward->Influence;
GiveInfluence( Player, Influence );
Right now I'm trying to figure out how the programmer who did that even knew (incorrectly) where to put the first line, if he didn't know where the second one was. I'm guessing that the actual problem was that the code did something like this:

Influence = 0
...
...
...
Influence = Reward->Influence;
...
...
...
GiveInfluence( Player, Influence );


and at some point down the road, someone else needed to add the first line and looked for where Influence was initialized and said: ah, its being initialized to zero; I'll do this:

Influence += Reward->Experience;

right below: this must be safe.

Which is one of those sorts of errors programmers get into. Programmer #1 said "lets be safe: initialize Influence to zero, and then later on set it to the correct value. The first line doesn't actually do anything, but that's ok." Programmer #2 says "oh look: he initialized it: he must have accumulator code after this or he wouldn't need to initialize it. I'll just insert an addition code in there and the downstream code will just accumulate on top." Without the init line, or something similar, the accumulator line in question would have been Unsafe At Any Speed to insert without a logical code reference point to place the insertion.

Unless it was a single programmer that wrote all of the lines, in which case I have to assume alcohol played a factor.


[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]

In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)

 

Posted

Bad code monkies....

So glad I switched my major to visual Media art and webdesign...Html is alot for forgiving.


 

Posted

Quote:
Originally Posted by pohsyb View Post
I can't believe no one noticed this earlier!

Since everyone loved my last bug explanation:

Level capped experience being converted into influence was broken because of an off by one error. (49 is never >= to 50)

Exemplaring converting experience into influence was broken because the experience was being added to influence before influence was being set (note these lines were a lot further apart):
Influence += Reward->Experience;
Influence = Reward->Influence;
GiveInfluence( Player, Influence );

It looks like they should have tapped Pohsyb for Spock in the new Star Trak movies.


"I never said thank you." - Lt. Gordon

"And you'll never have to." - the Dark Knight

 

Posted

Quote:
Originally Posted by Arcanaville View Post
Right now I'm trying to figure out how the programmer who did that even knew (incorrectly) where to put the first line, if he didn't know where the second one was. I'm guessing that the actual problem was that the code did something like this:

Influence = 0
...
...
...
Influence = Reward->Influence;
...
...
...
GiveInfluence( Player, Influence );


and at some point down the road, someone else needed to add the first line and looked for where Influence was initialized and said: ah, its being initialized to zero; I'll do this:

Influence += Reward->Experience;

right below: this must be safe.

Which is one of those sorts of errors programmers get into. Programmer #1 said "lets be safe: initialize Influence to zero, and then later on set it to the correct value. The first line doesn't actually do anything, but that's ok." Programmer #2 says "oh look: he initialized it: he must have accumulator code after this or he wouldn't need to initialize it. I'll just insert an addition code in there and the downstream code will just accumulate on top." Without the init line, or something similar, the accumulator line in question would have been Unsafe At Any Speed to insert without a logical code reference point to place the insertion.

Unless it was a single programmer that wrote all of the lines, in which case I have to assume alcohol played a factor.
I forgot. Arcannaville IS Spock from the Star Trek movies...


"I never said thank you." - Lt. Gordon

"And you'll never have to." - the Dark Knight

 

Posted

So is this somehow related to the phenomenon of exemplared characters actually getting quadruple inf during double-xp weekend? Was the initial doubling that didn't occur for standard exemplaring overridden so that it happened and then got doubled again by the double xp code?

Just curious.


My postings to this forum are not to be used as data in any research study without my express written consent.

 

Posted

I think quadruple inf is working as intended. Double XP weekends give 2x XP and 2x INF to normal players, so level capped or exemped players who (pre I16) got their XP converted to INF get 2x (2x INF), or 4x INF. Influence is awarded based on XP so doubling one doubles the other too.


Cascade, level 50 Blaster (NRG/NRG since before it was cool)
Mechmeister, level 50 Bots / Traps MM
FAR too many non-50 alts to name

[u]Arcs[u]
The Scavenger Hunt: 187076
The Instant Lair Delivery Service: 206636

 

Posted

Quote:
Originally Posted by StrykerX View Post
I think quadruple inf is working as intended. Double XP weekends give 2x XP and 2x INF to normal players, so level capped or exemped players who (pre I16) got their XP converted to INF get 2x (2x INF), or 4x INF.
During Double XP weekends, Exemplars got about 4x the standard Exemplar inf. Non-Exemplars got 2x the standard non-Examplar inf.


 

Posted

Quote:
Originally Posted by Leandro View Post
It always does.



You don't know how many times I've woken up hungover after working on my own side projects only to have NO IDEA what the code I wrote the night before was doing or what I was thinking...I LOL'd so hard at this.


 

Posted

Quote:
Originally Posted by Corebreach View Post
During Double XP weekends, Exemplars got about 4x the standard Exemplar inf. Non-Exemplars got 2x the standard non-Examplar inf.
Really? I did not know that. Will be interesting to see what happens this time since the whole sidekick / exemplar system got re-written. Of course right now it's looking like exemplar = base inf, but who knows how it will react to double XP code?

Maybe it'll turn out to be using an uninitialized variable and the multiplier will be different for each person...


Cascade, level 50 Blaster (NRG/NRG since before it was cool)
Mechmeister, level 50 Bots / Traps MM
FAR too many non-50 alts to name

[u]Arcs[u]
The Scavenger Hunt: 187076
The Instant Lair Delivery Service: 206636