The silliest exploit I never got around to attempting

Started by Arcana, December 19, 2012, 03:23:48 AM

Arcana

One of the things I was doing this past year was finally getting around to badges I hadn't gotten on my main yet.  In particular, I was figuring out ways to either solo or multi-box the Master badges I didn't have.  I managed to multibox Master of ITF and got pretty close on Master of LG.  The ones I had issues with were the Master of Fifth Task/Strike.  Mostly because I didn't have a way to take out Reichsman solo.  I tried to dual-box him with my Energy blaster and a Stone tank I leveled to 50, but while Reichsman couldn't kill my Stone tanker, he could stun him out of Granite and then kill him.  I eventually decided to level a Sonic MM to keep him cleared so he could tank Reichsman while I took him out with my blaster.  It would have been really close pre-Incarnates, but with Incarnates it was doable even with the pets getting periodically killed.  I never got around to actually doing that, though.

While I was slowly leveling that Sonic MM, I decided to look more carefully at how Reichsman was designed, just to make sure I hadn't overlooked some weakness I could take advantage of.  As a rule, I didn't really do that very often, and never just to make content easier to complete, but this was a special case situation.  And as it turns out, there was an exploitable weakness in Reichsman that I contemplated exploiting just for giggles, but it was a really weird exploit.  You could really only attempt it once a year, and I missed my chance in 2010 and 2011.

What sort of exploit can you only exploit once a year, you might ask?  Well, it seems Reichsman's defenses were designed in a peculiar way.  Most of his protection was in a passive power that could not be turned off.  But interestingly, they had zero activation time.  Zero activation time is a bizarre edge case.  Passives with zero activation time pulse once, and then never again.  The defensive effects buffed Reichsman only once.  But the pulse duration was set to 999999 seconds**.  That's about eleven and a half days.

So: all I needed to do was clear that last mission, spawn Reichsman, and then wait twelve days.  His defenses would expire and he would then be far easier to kill.  Except the problem there was that if the servers were rebooted the mission would reset and Reichsman with it.  I needed a way to be able to stay there for twelve days without the servers rebooting.

And that opportunity came once a year: most years during the holiday period between just before Christmas and just after the New Year the servers were often not rebooted for maintenance because people were on vacation.  If you did this on the right year, you could make this work.

My plan was to attempt this, video record it, and then post it with the twelve idle days compressed to play back at high speed, and see if anyone could guess what had happened in that video.  But alas, it was not meant to be.

Still, had I managed to pull this off this year, I think it would have to have gone down as one of the silliest exploits of the game ever actually executed.  Yet another reason to think the game ended all too soon.  Anyone who says they did it all just doesn't realize how much all there was still left to do.  If you were insane.



** It was originally set to 99999 seconds or a little over one day which was even more easily exploitable.  But although I asked around, no dev would admit changing that value because they realized it was easily exploitable, and no dev stated anyone else ever managed to exploit the earlier setting

Kaiser Tarantula

This video for this hypothetical video should be titled "The Twelve Days of Christmas."

Recite this song as the time-lapse plays.

On the first day of Christmas, the good devs gave to me...
A way to get the Reichsman's clock cleaned!

On the second day of Christmas, the good devs gave to me...
Two doughty boxes, and
And a way to get the Reichsman's clock cleaned!

On the third day of Christmas, the good devs gave to me...
Three clever plans,
versus two doughty boxes, and
And a way to get the Reichsman's clock cleaned!

On the fourth day of Christmas, the good devs gave to me...
Four other A-Vs,
Three clever plans,
versus two doughty boxes, and
And a way to get the Reichsman's clock cleaned!

On the fifth day of Christmas the good devs gave to me...
Full of FIFTH COLUMN JERKS!
Four other A-Vs,
Three clever plans,
versus two doughty boxes, and
And a way to get the Reichsman's clock cleaned!

On the sixth day of Christmas the good devs gave to me...
A six-mission taskforce,
Full of FIFTH COLUMN JERKS!
Four other A-Vs,
Three clever plans,
versus two doughty boxes, and
And a way to get the Reichsman's clock cleaned!

On the seventh day of Christmas the good devs gave to me...
Seven resistance caps,
A six-mission taskforce,
Full of FIFTH COLUMN JERKS!
Four other A-Vs,
Three clever plans,
versus two doughty boxes, and
And a way to get the Reichsman's clock cleaned!

On the eighth day of Christmas the good devs gave to me...
Eight different powers,
Seven resistance caps,
A six-mission taskforce,
Full of FIFTH COLUMN JERKS!
Four other A-Vs,
Three clever plans,
versus two doughty boxes, and
And a way to get the Reichsman's clock cleaned!

On the ninth day of Christmas the good devs gave to me...
Needs nine temp buffs,
Eight different powers,
Seven resistance caps,
A six-mission taskforce,
Full of FIFTH COLUMN JERKS!
Four other A-Vs,
Three clever plans,
versus two doughty boxes, and
And a way to get the Reichsman's clock cleaned!

On the tenth day of Christmas the good devs gave to me...
Ten times the hitpoints,
Needs nine temp buffs,
Eight different powers,
Seven resistance caps,
A six-mission taskforce,
Full of FIFTH COLUMN JERKS!
Four other A-Vs,
Three clever plans,
versus two doughty boxes, and
And a way to get the Reichsman's clock cleaned!

On the eleventh day of Christmas, the good devs gave to me,
Eleven types of fodder,
Ten times the hitpoints,
Needs nine temp buffs,
Eight different powers,
Seven resistance caps,
A six-mission taskforce,
Full of FIFTH COLUMN JERKS!
Four other A-Vs,
Three clever plans,
Two doughty boxes, and
And a way to get the Reichsman's clock cleaned!

On the twelfth day of Christmas, the good devs gave to me...
He's got twelve hammy lines,
Eleven types of fodder,
Ten times the hitpoints,
Needs nine temp buffs,
Eight different powers,
Seven resistance caps,
A six-mission taskforce,
Full of FIFTH COLUMN JERKS!
Four other A-Vs,
Three clever plans,
versus Two doughty boxes,
And a way to get the Reichsman's clock cleaned!

6ix7even

It was actually referred to as ATTRIBMOD_DURATION_FOREVER, and it was specially picked out in the code as that the duration on attribmods with a duration of this amount would not actually be decremented during the attribmod update pass. So I don't think it would have actually worked.

Here's the relevant comments

#define ATTRIBMOD_DURATION_FOREVER (999999)
   // A very large number of seconds which is essentially forever. This is
   // used as a flag; anything larger than or equal to this value will
   // be handled specially.

#define ACTIVATE_PERIOD_FOREVER (99999)
   // A smaller but still very large number of seconds which is essentially forever.
   // Powers which only have ATTRIBMOD_DURATION_FOREVER mods should have an activation period
   // of this or greater.

And then in the update code

   if(pmod->ptemplate->fDuration<ATTRIBMOD_DURATION_FOREVER)
   {
      pmod->fDuration -= fRate;
      if (((pmod->ptemplate->fDuration + pmod->ptemplate->fDelay) > 30) && (pmod->fDuration < 10) && (pmod->ptemplate->ppowBase->bShowBuffIcon))
      {
         pchar->entParent->team_buff_update = true;
      }
   }

Which means the comment was actually inaccurate but hey, small potatoes, right?

Arcana

Quote from: 6ix7even on December 19, 2012, 05:46:29 AM
It was actually referred to as ATTRIBMOD_DURATION_FOREVER, and it was specially picked out in the code as that the duration on attribmods with a duration of this amount would not actually be decremented during the attribmod update pass. So I don't think it would have actually worked.

Either not many people knew this, or far too many devs just wanted to sit back and see if I would actually try.

Either way, that's two things I didn't know before now.

Black Pebble

Quote from: Arcana on December 19, 2012, 05:55:27 AM
.....

Either way, that's two things I didn't know before now.

Now you know. And knowing is half the battle.

voodoogirl


Kaiser Tarantula

Curses, looks like I wrote up a Christmas parody for nothin'.  It just wouldn't work without the twelve-day-long timelapse video.

Mister Bison

Yeeessss....

Arcana

Quote from: Black Pebble on December 19, 2012, 06:03:02 AM
Now you know. And knowing is half the battle.

https://images.weserv.nl/?url=media.comicvine.com%2Fuploads%2F0%2F40%2F906309-theotherhalf_super.jpg

The Fifth Horseman

If that is a chunk of the actual code, the implications would be... interesting. :)
We were heroes. We were villains. At the end of the world we all fought as one. It's what we did that defines us.
The end occurred pretty much as we predicted: all servers redlining until midnight... and then no servers to go around.

Somewhere beyond time and space, if you look hard you might find a flash of silver trailing crimson: a lone lost Spartan on his way home.

corvus1970

Quote from: Arcana on December 19, 2012, 06:02:23 PM
https://images.weserv.nl/?url=media.comicvine.com%2Fuploads%2F0%2F40%2F906309-theotherhalf_super.jpg
ARGH! Beat me to it! :D
... ^o^CORVUS^o^
"...if nothing we do matters, than all that matters is what we do."
http://corvus1970.deviantart.com/

Triplash

I agree that knowledge bombs are more powerful than lasers, but come on... everyone knows blue lasers are more powerful than red ones.

https://i813.photobucket.com/albums/zz55/KansasCrawford/Funny%20Pics/CoPE-Space-Stuff-Blue-Lasers.jpg

Omni-Nogard

Quote from: Arcana on December 19, 2012, 06:02:23 PM
https://images.weserv.nl/?url=media.comicvine.com%2Fuploads%2F0%2F40%2F906309-theotherhalf_super.jpg

How bad is it that it's NOW that i get a idea for a pair of Duo Toons, Knowing Red and Knowing Blue both a Beam Rifle dressed as a GI(Blue) and Cobra(Red).

Arcana

Quote from: Omni-Nogard on December 19, 2012, 08:11:04 PM
How bad is it that it's NOW that i get a idea for a pair of Duo Toons, Knowing Red and Knowing Blue both a Beam Rifle dressed as a GI(Blue) and Cobra(Red).

Too late to play them, not too late to make them.

chasearcanum

So, after looking at the names, timestamps, and post counts:


Arcana, does it at all disturb you that you're being stalked by devs?

circuitshorter

We're not stalking.

We're observing the emergent AI in its natural habitat.
The arbiter formerly known as Hawk

Mister Bison

Quote from: circuitshorter on December 19, 2012, 09:22:52 PM
We're not stalking.

We're observing the emergent AI in its natural habitat.
Arcana Intelligence ?
Yeeessss....

circuitshorter

Oh yeah, and the reason that time changed from 9999 to 99999?  Around the time of freedom launch we had to go through all the passive powers in the game and standardize them all to be as server-efficient as possible, to clean up for potentially high max concurrency.  If an autopower was just adjusting something's stats and was never meant for its value to change, it had its activate period set to 99999 and its attribmod duration set to kUntilShutoff.  Tim and I spent probably 3 days each doing nothing but changing durations on auto powers.  Super boring, but at the same time, it reduced the portion of server processing spent on the powers system by over 30% if I recall correctly.

Also, hi. :)
The arbiter formerly known as Hawk

Arcana

Quote from: circuitshorter on December 19, 2012, 09:28:57 PM
Oh yeah, and the reason that time changed from 9999 to 99999?  Around the time of freedom launch we had to go through all the passive powers in the game and standardize them all to be as server-efficient as possible, to clean up for potentially high max concurrency.  If an autopower was just adjusting something's stats and was never meant for its value to change, it had its activate period set to 99999 and its attribmod duration set to kUntilShutoff.  Tim and I spent probably 3 days each doing nothing but changing durations on auto powers.  Super boring, but at the same time, it reduced the portion of server processing spent on the powers system by over 30% if I recall correctly.

Also, hi. :)

That's a much more technically precise answer than the previous one you gave me, which was "not sure."  Although better than the answer Castle once gave me to a different question which was "let me know when you find out."

Mister Bison

Quote from: circuitshorter on December 19, 2012, 09:28:57 PM
Oh yeah, and the reason that time changed from 9999 to 99999?  Around the time of freedom launch we had to go through all the passive powers in the game and standardize them all to be as server-efficient as possible, to clean up for potentially high max concurrency.  If an autopower was just adjusting something's stats and was never meant for its value to change, it had its activate period set to 99999 and its attribmod duration set to kUntilShutoff.  Tim and I spent probably 3 days each doing nothing but changing durations on auto powers.  Super boring, but at the same time, it reduced the portion of server processing spent on the powers system by over 30% if I recall correctly.

Also, hi. :)
Hi there, Arbiter Hawk. Such a pleasure to meet you, yeeeessss...

You're all making me want to finish my attribmod calculator (I still haven't abandonned, and I think I may have finally found the solution I needed)
Yeeessss....

circuitshorter

Quote from: Arcana on December 19, 2012, 09:32:08 PM
That's a much more technically precise answer than the previous one you gave me, which was "not sure."  Although better than the answer Castle once gave me to a different question which was "let me know when you find out."

Hah, what and when did you ask me about it?  My verbosity in responses tends to be inversely proportional to how much work I have to do, so it's possible I was just tunnel visioning something at work and couldn't put two and two together.
The arbiter formerly known as Hawk

Codewalker

Quote from: Arcana on December 19, 2012, 09:32:08 PM
That's a much more technically precise answer than the previous one you gave me, which was "not sure."

Hawkwaaaaard.

Sorry, couldn't resist.

circuitshorter

Quote from: Codewalker on December 19, 2012, 09:47:17 PM
Hawkwaaaaard.

Sorry, couldn't resist.

Not Sure can be code for "I'm not supposed to tell you that", fyi. :P
The arbiter formerly known as Hawk

Arcana

Quote from: circuitshorter on December 19, 2012, 09:54:50 PM
Not Sure can be code for "I'm not supposed to tell you that", fyi. :P

Yeah, well sometimes "Synapse asked me to talk to you about this" was code for "Synapse wouldn't say, but I might be able to trick you into spilling."

Just kidding.  I never did that. 

To you.

Arachnion

https://images.weserv.nl/?url=s11.postimage.org%2Fry64ysl83%2F32177499.jpg
I'm all dressed up with nowhere to go
Walkin' with a dead man over my shoulder

Waiting for an invitation to arrive
Goin' to a party where no one's still alive

Codewalker

Quote from: circuitshorter on December 19, 2012, 09:54:50 PM
Not Sure can be code for "I'm not supposed to tell you that", fyi. :P

I just wanted an excuse to drop the catch phrase.

That and an easy way to follow the thread in my 'new replies'.

;)

Mister Bison

Quote from: Codewalker on December 19, 2012, 10:07:58 PM
I just wanted an excuse to drop the catch phrase.

That and an easy way to follow the thread in my 'new replies'.

;)
Already too many "Notify" threads ? :D
Yeeessss....

Codewalker

Quote from: Mister Bison on December 19, 2012, 10:13:55 PM
Already too many "Notify" threads ? :D

Notify sends an email every time somebody posts, which while I do occasionally want that, I don't for most threads that I want to follow.

Mister Bison

Quote from: Codewalker on December 19, 2012, 10:15:17 PM
Notify sends an email every time somebody posts, which while I do occasionally want that, I don't for most threads that I want to follow.
Now does it only do this until you check out the thread ? Should do it once until you've read it (one for X posts, not one for every)
Yeeessss....