Double Influence, No XP?
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
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?
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 ); |
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
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 ); |
Gotta love debugging....
Original_Prankster->Profession === Programmer
:-)
(note these lines were a lot further apart):
Influence += Reward->Experience; Influence = Reward->Influence; GiveInfluence( Player, Influence ); |
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.)
Unless it was a single programmer that wrote all of the lines, in which case I have to assume alcohol played a factor.
|
www.SaveCOH.com: Calls to Action and Events Calendar
This is what 3700 heroes in a single zone looks like.
Thanks to @EnsonsDeath for the GVE code that made me VIP again!
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
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 never said thank you." - Lt. Gordon
"And you'll never have to." - the Dark Knight
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.
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
During Double XP weekends, Exemplars got about 4x the standard Exemplar inf. Non-Exemplars got 2x the standard non-Examplar inf.
|
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
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 );
@Morac | Twitter
Trust the computer. The computer knows all.