News:

SMF - Just Installed!

Global Power Duration Enhancement Set Suggestion

Started by Joshex, Aug 07, 2023, 04:36 PM

Previous topic - Next topic

Joshex

There are a few things in game which cannot be enhanced at current. one of these is Power Duration everything from Build Up to Click-type effects, number of ticks of damage in DoT, duration of castings/summonings such as Quicksand or other field type powers or "Blaster: Electrical Blast: Voltaic Sentinel".

For the name, the question is theme; we could give the name a temporal theme, or we could theme the name by something to do with willpower, training or extra effort.

I was thinking this should be a Global set "Global Duration Enhancement" UNIQUE

The Proc could be several things:
1: The first thing that comes to mind is perhaps a Global 33.3% duration increase to all applicable powers with positive effects to self, other, or negative effects to enemy, pvp enemy player.
2: The second thing which comes to mind is a +100% duration to the slotted power.

Another issue is the set construction, it'll be applied to many different types of powers; +HP, +Res, +Defense, +Speed, +Damage, +Accuracy, +Recovery, +Regen, +ToHit, +End, -Rech, Endurance Discount/End Mod, End redux, Timed Summon Duration, +range, and debuffs of all these so enhancing any of those effects will have to be under Damage, Accuracy, End Redux or Buff/Debuff(everything else including self-buff and buff other and debuff)   
1: Proc
2: Duration
3: Duration/End
4: Duration/Damage
5: Duration/(Buff/Debuff/Effect)
6: Duration/Accuracy

This set needs work, as at the moment it's great for duration increase, likely increasing durations well over 150% which for a 10 or 20 second duration would be 25 to 50 seconds, but it doesn't really add much else. maybe +/- 34% or 40% enhancement to everything else in the slotted power.

perhaps this can be fixed with bonuses? not really sure what to give it. maybe something special for all 6 slotted like a +10% Global Durable Effect Enhancement (+10%% to effects of all powers with durations)

this really needs discussion, it's just an idea I had that wasn't discussed yet to my knowledge.
Ye cannie be dividin by zero! However, ye can be dividing 0.0 by a non-zero! that'd be a float.
always Decimal(str(your float)) before you int( your float).

Redlynne

Sounds easy.
It's even easy to say.

Actually DOING IT would be an almost herculean effort of rewriting fundamental spaghettified hardcode.

There's a reason why the Paragon Studios devs publicly described how trying to modify the game's codebase was like trying to play Jhenga WHILE THE BLOCKS WERE ON FIRE!



Can it be done?
With enough Time, Tools and Tech Manuals ... almost anything can be done.

Would it be WISE to invest that amount of resources into such an endeavor?
That's a very different question ...


Verbogeny is one of many pleasurettes afforded a creatific thinkerizer.

Joshex

#2
Oh Absolutely. I agree, this will not be an easy implementation. We don't even have Duration Enhancements, and the game is not set-up to be able to modify that stat.

Consider it a casual endeavor. as you go through the code to do other things, Mark where it'd have to go and keep a txt with a list of documents and places where it'll be necessary to make changes.

next is surmizing what changes would need to be made/added.

after that checking for any conflicts/problems that might be caused because of it. If any, back to the first step; finding where those conflicts all are., then later surmizing what will be necessary to fix it.

then finally listing of actual changes which need to be made. and progressively getting to them.

I don't expect anything, but I definitely don't expect this in a near release. yes "hmph" at me, prove me wrong, but I'd think maybe several releases/issues will be necessary to pass before all the locations where changes would be necessary are even logged for consideration. finding all those places in the code will be only 1 step of a multi-part battle. Yeah I presume some of the team may have some good ideas of where these locations are likely to be. But it'll take code comprehension as you go. like: "ok we're adding in this new fix for attract.. oh, hey if we did ever add duration enhancement in, that would have to go here too."

one more part of the plan will be finalizing whats in the set. the above is just a basic guide of a suggestion. The set isn't even properly named yet. Suggestions are welcomed.

_____________________________

One note I'll add, I actually came up with this idea a long while back. but not for a set, just for general Durable Effect enhancements, I have a graphic started somewhere for the recipe and icon for a Duration IO. it's a simple Clock/Gauge similar to and based upon the recharge reduction graphic. I'll have to find and finish that.

maybe by the time I finish my html javascript hero/villain designer this enhancement type will be closer to reality.
Ye cannie be dividin by zero! However, ye can be dividing 0.0 by a non-zero! that'd be a float.
always Decimal(str(your float)) before you int( your float).

Redlynne

Quote from: Joshex on Aug 09, 2023, 08:59 PMthis will not be an easy implementation.
Consider it a casual endeavor. as you go through the code to do other things

Where's my facepalm image?

Just because something is easy to SAY ... does not ipso facto mean that it would be easy (for someone else) to DO!
That's like saying that "overhauling the Rules Of Reality" ought to be a "casual endeavor on the side" while working on the physics of nuclear fusion.

NONE of what you are proposing is a "casual endeavor" ... especially if you want it done RIGHT in ways that don't screw up something (everything?) else, leaving you with a mess of codebase that doesn't work anymore because you "casually" screwed things up that shouldn't have been messed with.



If builders built buildings the way that programmers write programs, the first woodpecker to come along would destroy civilization.
- Murphy's Laws poster


Verbogeny is one of many pleasurettes afforded a creatific thinkerizer.

Joshex

Quote from: Redlynne on Aug 10, 2023, 08:40 AM
Quote from: Joshex on Aug 09, 2023, 08:59 PMthis will not be an easy implementation.
Consider it a casual endeavor. as you go through the code to do other things

Where's my facepalm image?

Just because something is easy to SAY ... does not ipso facto mean that it would be easy (for someone else) to DO!
That's like saying that "overhauling the Rules Of Reality" ought to be a "casual endeavor on the side" while working on the physics of nuclear fusion.

NONE of what you are proposing is a "casual endeavor" ... especially if you want it done RIGHT in ways that don't screw up something (everything?) else, leaving you with a mess of codebase that doesn't work anymore because you "casually" screwed things up that shouldn't have been messed with.



If builders built buildings the way that programmers write programs, the first woodpecker to come along would destroy civilization.
- Murphy's Laws poster

Hah!

Point well made!
Ye cannie be dividin by zero! However, ye can be dividing 0.0 by a non-zero! that'd be a float.
always Decimal(str(your float)) before you int( your float).