New armor set - vector-based resist


Aett_Thorn

 

Posted

Quote:
Originally Posted by ArcticFahx View Post
You have a field that works better at deflecting certain things, like a coating of ice would diffract energy, and simply add more ice onto itself, as well as keep fire from affecting you entirely by taking all the heat from it. Defense isn't always dodging, it can also be an attack deflecting off a barrier or simply being completely absorbed by a field of some sort.
And the power such as I described them work better at diffracting things that come at you a certain way - at the beginning you only have enough control to do so at very close range, then along a precise path, and finally all around oyu. It's just as flimsy an explanation. (Yes, I can admit that it's flimsy, but come on, so's ice's.)

Quote:
I want my fire/SR brute to be slotted for HP/regen (to recover from damage spikes and AV one shots) but I can't because of the current set up. The only thing that goes well with SR is dark because of the self heal.
Then you need to try other sets. I play Martial Arts, and I do just fine against +2/x3 Praetorian Clockworks and Maltas at level 40. I did slot for regen - between Health, set bonuses and base I have a 250% regen and I plan on taking Physical Perfection to help boost it. (I should end up at something like 300% base regen.) I used to have the Medecine pool for a self-heal (which I could reliably use even in a fight thanks to my defense) and respec'd out of it because I almost never used it - even when tanking both Hrod'hrotz and Nemesis in the Dark Watcher arc I didn't need more than a couple greens and some help from the team. SR works with a lot of sets.

Ultra-violence - I think you misunderstood the way it works. It doesn't protect you just from the front or from one side. It works like Super Reflexes and protect you against a type of attack - Melee, Ranged or AoE. Where the foe attacks from is irrelevant, it's HOW he aims at you that matters.

Dr Harmony - I am pleased that you're providing constructive criticism but you only read parts of this thread before doing so. I understand that adding new types of resist to powers would be a huge and difficult project, with a LOT of potential issues with balance. Luckily, that's not what I'm suggesting. See my previous reply to this concern :

Quote:
The way I was envisionning it, it would be coded in a roundabout way - essentially the resist would be to ALL damage types equally, BUT would only get applied if the positional tag was the correct one. No need to add damage separations or what-have-you.

So the first power would give, say, 20 % resist to S/L/E/F/C/N/T/P BUT ONLY IF DELIVERED THROUGH A MELEE ATTACK. This takes care of the Psi wall argument, since Psi is notorious for having attacks which have no positional vector, only a type label, which this set would be powerless against.

It would also solve the issue with such powers as Tough or IO set bonuses : Tough's S/L resist would be apllied no matter what the attack vector is so long as it's S/L damage, and would stack with the S/L resist from the powers if the tags match.

Frankly, unless there is a code secret that I don't envision, all it would boil down to would be an IF/ELSE test (well, more or less. ) The only truly annoying part would be adding a tab in the combat attribute window to display those vector restistance values.
(Emphasis for clarity)

I hope this makes sense. NOTHING would have to be "nerfed" or even modified in any way that we players can see. No new mechanic, no new values, no cottage rule infringement. Considering that resist caps are MUCH higher (especially on a Tank), even reasonable resist values would leave holes in the resistance. Heck, this set could even have a toxic or psi "hole" by providing lesser resist values no matter what the vector (I trust devs and writers to find a justification for that)

Even assuming all shields provided 35% across the board resists based on vector, enheanceable to about 53% max, (around 65 with Alpha T4?) even if you also had a sonic defender in the team, the Eye of the Magus and Vanguard accolades, Tough running and sets bonuses out the wazzo, you wouldn't get at the cap on everything. Most maybe, but as has been repeatedly said, Psi and Toxic are harder to resist. And with those kind of aids, ANY resist set can cap almost every type. Though certainly not all the time.

I know it sounds very powerful read like that but remember :

- SR is about as powerful. Short of the RNG stepping in, it can make a Tank untouchable by level 30.

- This set has no defense. Any mez and debuff that's aimed at you you'll feel. End drain is gonna be a *****. Even if you resist the lash from a simple Demonic Girlfriend, you'll get the -regen of her hellfire.

- it's not exactly like having high resist to all types because some attack lack a vector. I know off the top of my head that Blind from Illusion control does,and believe me, as an SR tank I'm far more wary of Illusionists than Ring mistresses when fighting Carnies. Who's to say that there won't be more, of more types, later on? Assume, for example, an hypothetical attack that occurred because a Fire Caster raised your internal temperature with a spell - Fire damage, no incoming vector. A Fire armor Scrapper is used to those temperatures, so he gets resists. My concept has no way to feel it coming, he eats it all. Just because there aren't any right now doesn't mean there won't be any later (and with the ease with which defense build are made those days on ANY toon, I wouldn't be surprised in the least if it happened sooner than later.)

- The above example assumes a well-built level 50. The way I wrote it, even a Tank wouldn't get the last shield until level 12, and a Scrapper/Brute would have to wait till level 20, and slotting would delay its potential protection even more. Until then, anything with an AoE attack will be as dangerous to you as it would to any toon with no defense and no mitigation.

- Building for both res and def would be very difficult and expensive, so no or little layered mitigation.

- I never said it should provide equal res values to all vectors, even though I assumed it could in my examples. I'm very wary of offering hard numbers since I feel THAT is a job best left to the devs for balance and such. Since melee attacks do hit harder than ranged, which hit harder than AoE in the game, I don't feel it would be strange to have the first shield provide higher values than the second, which would provide higher values than the third.

- It brings more than just a weakness to AoE the first 20 levels. It brings a new concept for an armor set that doesn't require a brand new mechanic or a variation on a theme like Elec/Fire/Dark armor (which, at their core, are resist sets of different type). Many players clamor for more defensive armor sets but some of the suggestions I've seen would asks ten time the development of this one, cool though they may sound on paper. I'm looking for something a bit fresher than "Ice Resist", but that we could hope to get in 3 issues instead of 30.


 

Posted

Quote:
Originally Posted by Netphenix5 View Post
And the power such as I described them work better at diffracting things that come at you a certain way - at the beginning you only have enough control to do so at very close range, then along a precise path, and finally all around oyu. It's just as flimsy an explanation. (Yes, I can admit that it's flimsy, but come on, so's ice's.)
No, Ice is not conceptually flimsy. You can go outside right now and make a vest out of ice and ask a friend to slash at you with a knife. There will be a difference between doing that and getting slashed at without the ice vest and that difference will be you'll get cut up most likely and the other not likely on the first hit.

And it makes perfect sense that armor made of ice would deflect specific types of attacks, resulting in 0 dmg to the person which is simulated by defense.

You are *not* making your argument stronger by attempting to describe the mechanic's concept, I can tell you that.


Quote:
- It brings more than just a weakness to AoE the first 20 levels. It brings a new concept for an armor set that doesn't require a brand new mechanic or a variation on a theme like Elec/Fire/Dark armor (which, at their core, are resist sets of different type). Many players clamor for more defensive armor sets but some of the suggestions I've seen would asks ten time the development of this one, cool though they may sound on paper. I'm looking for something a bit fresher than "Ice Resist", but that we could hope to get in 3 issues instead of 30.
Let me remind you that your 'vector resist' idea isn't a new mechanic, just a new variable in an equation. Now I was guessing someone would try to come up with a new mechanic that simulated 'vector resists' since simply adding a variable to all existing maths work isn't really viable (and you can't say your suggestion wouldn't be 10x harder than others unless those ideas are fundamental changes to the calculations of damage mitigation like this one would require). Adding [X] amount of fire damage to various attacks isn't nearly in the same hemisphere of code work that adding 3 dmg type or working deep in the code to have attacks checking for hit to then use a given resist value.

You haven't thought of the mechanic yet! Right now, vector resist isn't possible without reworking the very Hit and Damage calculations completely or going through the arduous process of adding these tags to every attack in the game. Unless you're fine with the idea just being in the 'well, it's a neat idea but it ain't viable at all' bin, then you need to come up with that game mechanic that works within the game engine that is virtually vector resists or simulates it somewhat.


 

Posted

The resistance stacking would work the same as my rage defense set. The set would check position of attack, ans resist, say, 50% then any remaining damage would be then resisted based on team or inspiration given resistance. Example: energy blaster does 100 (ranged/smashing) damage. The ranged resistance would reduce it from 100 to 50 damage, then tough would take 20% off that leaving 40 damage. effectively being 60% resistance.


 

Posted

from what I can tell, the only thing that would need to be coded in, is the tracking in the effects options ... but the power itself would just be resisted before it hits, like SR does a tohit check before it hits. Also, there would be no need to add positional def to the defender powers, just like there are non for defense. The only concern would be IF you had stacked enough type resistance to reach 90 CAP you would be able to pass that SLIGHTLY with the positional resistance. But, that assumes you have enough Defender types to accomplish that. Example: attack damage is 100, after positional resistance of 50% you have 50 damage left over. Of that 50 damage 90% is resisted. therefor you have 5 damage left. So, as long as you have a team buffing you ... you could hit 95% resistance. NEVER 100%. It could be OP on teams, but not solo. and not in PVP

My only concern is trying to match the concept with every type. IE, mutant magic, natural, etc.


 

Posted

Quote:
Originally Posted by Leo_G View Post
No, Ice is not conceptually flimsy. You can go outside right now and make a vest out of ice and ask a friend to slash at you with a knife. There will be a difference between doing that and getting slashed at without the ice vest and that difference will be you'll get cut up most likely and the other not likely on the first hit.

And it makes perfect sense that armor made of ice would deflect specific types of attacks, resulting in 0 dmg to the person which is simulated by defense.

You are *not* making your argument stronger by attempting to describe the mechanic's concept, I can tell you that.
We'll have to agree to disagree on that, if you don't mind. As I said, I can't wrap my mind around the concept of typed defense as explained in the Ice armors sets, but if you can, great. If Ice provided defenses against physical attacks (S/L) and resist to ALL elemental damage (because I'm sorry, but electricity ain't gonna slide off a sheet of ice) then I'd be all for it. And even so, I think I'd be happier with Smashing resist - go at an ice block with a knife, you'll slide off; go at it with a hammer, you'll crush the impact point. But, as I said, if it works for you, great !

Quote:
Originally Posted by Leo_G View Post
Let me remind you that your 'vector resist' idea isn't a new mechanic, just a new variable in an equation.
I'm very glad that we agree on that.

Quote:
Originally Posted by Leo_G View Post
Now I was guessing someone would try to come up with a new mechanic that simulated 'vector resists' since simply adding a variable to all existing maths work isn't really viable (and you can't say your suggestion wouldn't be 10x harder than others unless those ideas are fundamental changes to the calculations of damage mitigation like this one would require). Adding [X] amount of fire damage to various attacks isn't nearly in the same hemisphere of code work that adding 3 dmg type or working deep in the code to have attacks checking for hit to then use a given resist value.
In the context of what I'm proposing, yes, yes it would be just as hard. The fire damage they added IS a new variable added to each and every power in the game with, on top, a test checking to see if the power "embrace of fire" has been activated. It's very similar to what I'm proposing. And I fail to see in what way it wouldn't be more viable than having to work out a whole new system, which WOULD be incredibly difficult, if not outright unfeasible. My system does simulate vector resist based on the existing framework of the game as I understand it. If my comprehension of it is faulty, please point out to me in what way.

Quote:
Originally Posted by Leo_G View Post
You haven't thought of the mechanic yet! Right now, vector resist isn't possible without reworking the very Hit and Damage calculations completely or going through the arduous process of adding these tags to every attack in the game. Unless you're fine with the idea just being in the 'well, it's a neat idea but it ain't viable at all' bin, then you need to come up with that game mechanic that works within the game engine that is virtually vector resists or simulates it somewhat.
You know, this actually made me re-read the thread from the top, because I thought I did just that twice already. Maybe I'm being unclear and if so I apologize sincerely, but two people already both brought up the mechanics aspect and tried to accuse me of adding stuff to the game system. So I'm gonna try to explain more clearly.

Say you use the powerset as I outlined it at level 10 - you have the first two shields up so we'll say that you have a positional resistance of, say, 40% (not that well slotted yet. ) You have no AoE resist and haven't collected accolades or gained Tough yet.

You go to Perez for some easy Hellion hunting. A Minion walks up to you and Punches you for 10 damage. The Punch attack is dealing Smashing damage with a Melee vector. The game checks the vector, sees it matches that of your first shield (like it would with Super Reflexes) and consider you have 40% resist to the attack. You only take 6 damage.

A Hellion boss turns up, shoots a fireball at you for 25 fire AoE damage. The same check that would activate for SR goes through (see? Nothing added so far) sees you don't have AoE resist (no third shield yet) and you eat the whole 25 damage.

Now, assume a sonic defender comes along for the ride. He grants you a Sonic Haven, so you gain 20% Fire resist. In the first case scenario above, the game would grant you your shield's 40% resist but have no existing typed resist to stack it on - you'd still take 6 damage. Had he granted you a Sonic Barrier, you'd have had a 20% Smashing resist, which would have stacked with your own shield for 60%. In the case of the Fireball, you have the 20% resist from Haven, but your first two shields would not stack with a non-AoE attack, so your res is 20%. Had he sent Flares at you instead, it would have matched your Ranged shield and granted you a total 60% resist.

I hope I'm making sense this time. Let me try to emphasize so people actually see it : as I envision it, there are no tags to add, no values to add to powers out of this set, and a lot of the needed mechanics exist already thanks to the typed/positional defense check already. All that would be needed is the code to stack the resists on a case-by-case basis, and that I can't provide, since I'm not a developer for the game. If that's what you accuse me of, then yes, I haven't thought of THAT. But I HAVE thought of the mechanics, as much as I can for a rough concept. I can't say if the amount of work needed would be huge, but it doesn't seem too much bigger than what they did for Embrace of Fire. It needs no rewrite of the ToHit mechanics, and little of the Damage calculation - I'd say not that much more than adding any other resist armor.

Now, maybe my concept doesn't mesh with how you saw Vector-based resist working. I'd be happy to hear your thoughts on the subject, all the more if it helps me polish out my concept (or yours - constructive criticism is always welcome.) But as things stand, I'll consider your last paragraph null and void, because I have thought out the mechanics and consider it could work with the current game engine. Feel free to prove me wrong instead of calling me wrong.


 

Posted

Twigman, you're not quite correct - there would be no two-stage resist mechanics, because that would open a whole can of worms. The resists would be stacked PRIOR to final damage calculation. No going over the cap. And as for concept matching, I'm sure Paragon Studio has very talented writes on staff that would come up with a more generic, goes-with-most-concepts write-up for the set descriptions.


 

Posted

Quote:
Originally Posted by Netphenix5 View Post
In the context of what I'm proposing, yes, yes it would be just as hard. The fire damage they added IS a new variable added to each and every power in the game with, on top, a test checking to see if the power "embrace of fire" has been activated.
The Fiery Embrace change had to be added individually to every power used by the relevant archetypes. That's a large list, but still a much smaller list than EVERY power in the game. Of course, rather than hand-coding the check into every power, it would make more sense to change the underlying mechanic, so that it happens at some point during the hit roll or something. But at that point you're changing something that many other things rely on, giving you many possible ways to introduce bugs.


 

Posted

Quote:
Originally Posted by Hopeling View Post
The Fiery Embrace change had to be added individually to every power used by the relevant archetypes. That's a large list, but still a much smaller list than EVERY power in the game.
Fair enough. I checked, and every toon I rolled since the change has access to a set with it / Shares such a power with an AT that does, so I mistakenly came to believe it had been coded everywhere. My bad. The argument still stands, jut not as high.

Quote:
Originally Posted by Hopeling View Post
Of course, rather than hand-coding the check into every power, it would make more sense to change the underlying mechanic, so that it happens at some point during the hit roll or something. But at that point you're changing something that many other things rely on, giving you many possible ways to introduce bugs.
And again, I'm proposing neither. I'm offering to rely on existing mechanics with a twist. Please point out to me where I say I'd add anything to existing powers in the game, because I need to amend/clarify such a statement.

As for adding a check in the to-hit process, such a check ALREADY EXISTS - it's the same used for positional defense, its result would simply activate a different mechanic on the Tanker (or Brute, or Scrapper), not at any other level. To Hit, Accuracy, defense, and so on and so forth, would not have to be changed in any way.

If it helps represent things, assume a positive check on the (already existing) test would grant an instantaneous global resist shield to the character, which would then go poof. Does that make sense? I think the bug potential would be pretty low.


 

Posted

Actually, Net, from what I've seen, I think it would need new coding within the ToHit formula. You can't just say that it would use the same mechanism as the Defense check, because that is looking for something completely different.

Let's say that it did use the same check as the Defense one. So the attack checks for your Melee/Smashing/Energy Defenses, and sees which one is higher. If it's your Melee Defense, then under your proposal, the resistances of the set would come into play. But, what if you've got capped S/L Defense, but only 5% melee Defense. Then the attack go against your Smashing Defense, not your melee, and your armor wouldn't resist the attack.

So you're need a new check AFTER the ToHit check but before the damage gets applied to do another vector check on the attack to see which armor's value would get used.


Also, to make a powerset like this work with other sets like Sonic, Thermal, or Tough, you'd need some way for the game to provide those resistances with a way to combine with the vector-based armors, since they don't work like that. So, let's say that you have a Melee armor on and Tough. The game would need a way to determine how much resistance you have to a power in both melee and ranged/AoE for S/L damage. Right now, there is no check for that in the way that resistance is calculated, so there'd need to be ANOTHER check entered in between the ToHit formula and the damage being applied.


So you'd be adding in two checks into the attack formulas, both of which we can't be sure whether they'd cause further problems with the way attacks work. I'm not surprised that the Devs haven't added something like this in yet. Because it is a MASSIVE amount of work for them to do, and could significantly break the attack mechanics.


Let me never fall into the vulgar mistake of dreaming that I am persecuted whenever I am contradicted.
~Ralph Waldo Emerson

"I was just the one with the most unsolicited sombrero." - Traegus

 

Posted

Quote:
Originally Posted by Netphenix5 View Post
Twigman, you're not quite correct - there would be no two-stage resist mechanics, because that would open a whole can of worms. The resists would be stacked PRIOR to final damage calculation. No going over the cap. And as for concept matching, I'm sure Paragon Studio has very talented writes on staff that would come up with a more generic, goes-with-most-concepts write-up for the set descriptions.
Meaning? It would resist the positional, then resist the type, then do a check to make sure it doesn't pass the 90% (tank/brute)cap (not a fan)? Or, would it check both, add the 2 and subtract anything thats above 90%? That's better I guess.

Let's just say it's a good thing it wouldn't resist toxic, because then it's resist buffs would be around 50-55%. But, because toxic can't be resisted in this set due to "positional" checks, it could actually be around 60-65%

OH ... just thought of a question, would DOT damage be resisted in any way seeing how it's type only, not positional?


 

Posted

Quote:
Originally Posted by Aett_Thorn View Post
Actually, Net, from what I've seen, I think it would need new coding within the ToHit formula. You can't just say that it would use the same mechanism as the Defense check, because that is looking for something completely different.

Let's say that it did use the same check as the Defense one. So the attack checks for your Melee/Smashing/Energy Defenses, and sees which one is higher. If it's your Melee Defense, then under your proposal, the resistances of the set would come into play. But, what if you've got capped S/L Defense, but only 5% melee Defense. Then the attack go against your Smashing Defense, not your melee, and your armor wouldn't resist the attack.

So you're need a new check AFTER the ToHit check but before the damage gets applied to do another vector check on the attack to see which armor's value would get used.


Also, to make a powerset like this work with other sets like Sonic, Thermal, or Tough, you'd need some way for the game to provide those resistances with a way to combine with the vector-based armors, since they don't work like that. So, let's say that you have a Melee armor on and Tough. The game would need a way to determine how much resistance you have to a power in both melee and ranged/AoE for S/L damage. Right now, there is no check for that in the way that resistance is calculated, so there'd need to be ANOTHER check entered in between the ToHit formula and the damage being applied.


So you'd be adding in two checks into the attack formulas, both of which we can't be sure whether they'd cause further problems with the way attacks work. I'm not surprised that the Devs haven't added something like this in yet. Because it is a MASSIVE amount of work for them to do, and could significantly break the attack mechanics.
I really must be bad at explaining, because I gave the wrong impression again. My apologies, Aett.

When I say that it uses the same check as defense, I meant only so far as to check what vector the attack uses. As I understand it, when an attack hits my character, there are two separate checks, on looking at the damage type, one looking at the attack vector. Based on what they say, different defenses are checked and the highest is applied, correct?

This applies BEFORE the engine looks at which defense is highest, because even if I have a huge Melee defense if it's a ranged Lethal attack that hits, Melee defense won't even be factored in. Those checks, as far as I'm aware, exist already, since my SR Tank can use the Watchman Accolade that grants high Psi def and get a chance to avoid a Blind in his face despite the attack having no vector. So there HAS to be a way to check both type and vector as early as ToHit for those rare cases when you have both types of defense. No need to redo it after, just store its result somewhere to pass on to the next stage. That wouldn't be too hard, I assume.

Then, since the way I see it, a positive check on the vector test would result in a higher resist value for this attack only,Tough would auto-stack with it, since all resists would be considered boosted temporarily. Essentially, for a split-second (as seen by the code) all your resists would be set at the shield power's values. Tough and other temp protections would then stack with it if their resist in concerned.

In the example of Tough, it sets my S/L resist to 15% so long as it runs. I'm hit with a Lethal attack that I can't counter vector-wise, I get those 15%. I get hit with one I can counter, those 15% (and technically, every other resist, but in the end just the one the attack is typed with would matter) get a boost based on my shield and then go back to their stable values. Tough and all the other shields would not have to be changed.

Am I making more sense? I really am trying to come up with as easy as system to implement as I can with no technical knowledge of the code behind the game.


 

Posted

Quote:
Originally Posted by Twigman View Post
Let's just say it's a good thing it wouldn't resist toxic, because then it's resist buffs would be around 50-55%. But, because toxic can't be resisted in this set due to "positional" checks, it could actually be around 60-65%

OH ... just thought of a question, would DOT damage be resisted in any way seeing how it's type only, not positional?
Toxic attacks have positional flags. [Poisonous Ray] and [Bile Spray], for example. There's no such thing as toxic typed defense, but the relevant positional defense works normally against them. Presumably, toxic attacks would be subject to the relevant positional resist here.

Most DoT damage also has an attack type. The only exceptions I can think of is damage fields like Caltrops, since those are just autohit.


 

Posted

Quote:
Originally Posted by Netphenix5 View Post
When I say that it uses the same check as defense, I meant only so far as to check what vector the attack uses. As I understand it, when an attack hits my character, there are two separate checks, on looking at the damage type, one looking at the attack vector. Based on what they say, different defenses are checked and the highest is applied, correct?

This applies BEFORE the engine looks at which defense is highest, because even if I have a huge Melee defense if it's a ranged Lethal attack that hits, Melee defense won't even be factored in. Those checks, as far as I'm aware, exist already, since my SR Tank can use the Watchman Accolade that grants high Psi def and get a chance to avoid a Blind in his face despite the attack having no vector. So there HAS to be a way to check both type and vector as early as ToHit for those rare cases when you have both types of defense. No need to redo it after, just store its result somewhere to pass on to the next stage. That wouldn't be too hard, I assume.
Bolded the problematic part for you. This is exactly the kind of situation the Standard Code Rant applies to.
Currently, when damage is calculated, it's very straightforward. To make this work would require adding a conditional test, referring to a variable passed from an earlier calculation, neither of which it currently does. Is that possible? Probably, yeah. Is it easy? No one in this thread is qualified to say.


 

Posted

Quote:
Originally Posted by Twigman View Post
Meaning? It would resist the positional, then resist the type, then do a check to make sure it doesn't pass the 90% (tank/brute)cap (not a fan)? Or, would it check both, add the 2 and subtract anything thats above 90%? That's better I guess.

Let's just say it's a good thing it wouldn't resist toxic, because then it's resist buffs would be around 50-55%. But, because toxic can't be resisted in this set due to "positional" checks, it could actually be around 60-65%

OH ... just thought of a question, would DOT damage be resisted in any way seeing how it's type only, not positional?
To the first part, it's the second option. Values are added and capped at 90% if they add to more PRIOR to the damage being applied. Toxic attacks that have vectors would get resisted just like they would be dodged by SR, but it would be very hard to boost the resist of the set to it, since typed Toxic resist is so rare.

As for DoT... Damn, now you actually thought of something I hadn't. It would be harder to deal with, since a virtual resist would have to be applied to the DoT even if it lets other attacks of the same type through... I guess one roundabout way to solve it would be to force the DoT damage of the incoming attack to be actually lowered by a percentage if it gets resisted, but that would be MUCH harder to do reliably and would imply a real change of the damage dealign mechanics. Or a variable would be added to DoTs that would make the engine consider each tick of DoT as an attack of the same vector as its parent source attack. Again, it would add way more steps than I'm comfortable with. Dammit. Good game, Twigman.

[EDIT] : If Hopeling said about DoT sharing the vector of the original attack stands, then this system would consider each tick as a new attack as far as those resists are concerned. They'd get reduced. Caltrops could be a weak point of the set, like it is for defense sets.

[Re-EDIT] : Drats, no it wouldn't be that easy would it? Since with defense sets, once the parent attack goes through, you eat the DoT, it's clearly not seen as a new attack. Making it work so would DEFINITELY invoke the SCR. Caramba. Hmm... Maybe DoT could be considered THE "hole" of the set?


 

Posted

Quote:
Originally Posted by Hopeling View Post
Is it easy? No one in this thread is qualified to say.
Okay, THAT argument I can accept, because I used it myself. I'm indeed not qualified to judge how hard it would be. I should have said that it wouldn't be unfeasibly hard. I'm a programmer in certain languages, and within the scope of that experience, I would consider it possible. But I can't say if it would be easy, true.

But I think you'll agree that I tried to stay as close to the existing mechanics as possible to lessen the difficulty. And if DoT damage carries over the vector of its parent attack, then my system stands. Can anyone confirm that side of things? And assuming DoT couldn't be mitigated, would you consider it too crippling a weakness for an armor set? I don't remember there being that many high-damage DoTs in the game, aside from Full Auto and some drop/rain powers.


 

Posted

Quote:
Originally Posted by Netphenix5 View Post
And if DoT damage carries over the vector of its parent attack, then my system stands. Can anyone confirm that side of things?
Currently, it does not, because no damage of any kind carries any vector of any kind. Presumably, though, if we're adding the ability to do that, it should be possible to store the variable for a few seconds while the DoT ticks.


 

Posted

The problem I see is that we'd turn a system in which the resists are raised on a per-attack-basis to one where they can linger - which, to be sure it also doesn't get applied to the wrong subsequent attack, would require the new vector-based resist values I was hoping to avoid at all cost. I think both ease and balance would demand that DoT be made a mitigation hole of the set. Avoid burning floors, Chain guns and firestorms, and be wary of skull-shooting vampires.


 

Posted

Quote:
Originally Posted by Netphenix5 View Post
The problem I see is that we'd turn a system in which the resists are raised on a per-attack-basis to one where they can linger - which, to be sure it also doesn't get applied to the wrong subsequent attack, would require the new vector-based resist values I was hoping to avoid at all cost.
Er... I'm confused by this statement. Were you thinking of having resists temporarily spike upwards each time you're attacked? That sounds very difficult in terms of timing, and would easily lead to attacks being mitigated by the wrong resistances/multiple resistances (ranged attack hits while your melee resist is active, for example).


 

Posted

That's pretty much the only way I found that would avoid the whole "create a vector-based permanent resist value", which would have meant actually rewriting the combat system to a point.

Since the changes would imply checking to see if the vector-resist power exist, once it applies, its resist values would be added within the calculations of the attack, not as a lingering value. It wouldn't exist the rest of the time, for all intent and purposes. Next attack would start from the resist values as they exist today (and as affected by lingering effects like Tough, etc.) and not the values of the previous attack. This works fine for non-DoT attacks. But if DoT is to be resisted, and can't be considered a new attack (THAT sounds like a nightmare to code game-wide) then the resist would NEED to be taken out of the calculation and hard-added to the values we see on the combat attribute screen, and THAT could spill over to the wrong attack, no matter how short the boost. Otherwise a new variable would need to exist checking to see if its parent attack was resisted and by how much, but I doubt it would be any easier to apply to all DoTs.

And as an aside, your comment confirms that I need to take explanation clarity courses, because that's the system I've been trying to outline so far.


 

Posted

OK, but if that's the system you want to use, then you need the attack to not just check for the positional resist, but then also apply the resist buff before the damage is dealt (and remember that exactly WHEN an attack deals its damage varies wildly, from immediately at the beginning of the animation, to after the animation finishes and the projectile travels to the target - sometimes even later, for example, Ion Judgement casts, then it figures out what it'll jump to, THEN it deals damage). And presumably you don't want to apply the buff for very long, to prevent it from mitigating other attacks that it shouldn't. Even if we can set the math up right, if there's significant latency, the resistance could very easily expire before the attack deals damage, or not apply until too late.
Then there's the problem of attacks being mitigated that shouldn't be because they landed while the resist boost from a different attack was active, as well as the problem of the melee and ranged resist boosts applying at the same time and double-mitigating both attacks.

In trying to avoid the SCR, you're creating a system that would be even harder to implement and still probably wouldn't work.


 

Posted

Quote:
Originally Posted by Netphenix5 View Post
Okay, THAT argument I can accept, because I used it myself. I'm indeed not qualified to judge how hard it would be. I should have said that it wouldn't be unfeasibly hard. I'm a programmer in certain languages, and within the scope of that experience, I would consider it possible. But I can't say if it would be easy, true.

But I think you'll agree that I tried to stay as close to the existing mechanics as possible to lessen the difficulty. And if DoT damage carries over the vector of its parent attack, then my system stands. Can anyone confirm that side of things? And assuming DoT couldn't be mitigated, would you consider it too crippling a weakness for an armor set? I don't remember there being that many high-damage DoTs in the game, aside from Full Auto and some drop/rain powers.
I believe full auto and a tohit check for each shot ... wouldn't apply to that. But, if DOT is a secondary effect damage, then anything with a primary of smashing or lethal the secondary would not be resisted. Example: fire sword does a primary damage of lethal with a secondary of fire and DOT fire. Would the lethal be the only thing resisted in that case?

BTW: I am in support of the set, I'm just voicing constructive criticism.


 

Posted

Quote:
Originally Posted by Hopeling View Post
OK, but if that's the system you want to use, then you need the attack to not just check for the positional resist, but then also apply the resist buff before the damage is dealt (and remember that exactly WHEN an attack deals its damage varies wildly, from immediately at the beginning of the animation, to after the animation finishes and the projectile travels to the target - sometimes even later, for example, Ion Judgement casts, then it figures out what it'll jump to, THEN it deals damage). And presumably you don't want to apply the buff for very long, to prevent it from mitigating other attacks that it shouldn't. Even if we can set the math up right, if there's significant latency, the resistance could very easily expire before the attack deals damage, or not apply until too late.
Then there's the problem of attacks being mitigated that shouldn't be because they landed while the resist boost from a different attack was active, as well as the problem of the melee and ranged resist boosts applying at the same time and double-mitigating both attacks.

In trying to avoid the SCR, you're creating a system that would be even harder to implement and still probably wouldn't work.
If those resist values appeared out of the damage calculations of the attack, probably. But here, they would be coded into the damage calculation mechanics of each attack, so I don't think latency would have much of an effect. Unless I misunderstand the way those calculations are acted, the game knows how much damage Lift will inflict the moment it hits you even it it's applied after 2 seconds. the resist, I believe, is applied when it hits, not when it goes through, unless it's DoT. At least that's how I read what I saw in CoData. Again, the resist would be applied in those calculations only, it couldn't spill over to another attack because it would only "exist" within the context of that attack. I don't see this as harder to implement.

Let's try pseudocode to illustrate :

Var smashResist //your permanent resistance to Smashing, factoring such powers as Tough
Var MeleeResist //the resist value of your Melee shield
tempSmashResist //the virtual sum of the two, you can swap Smash for anything else
Var vector

If (attackHits) // Gotta matter, right?
{ if (attackVector is Melee) {vector=Melee} //It could match your shield or your defense - so far nothing new I think. But now we need to store it
...
VARIOUS DEFENSE-RELATED STEPS. WEGET TO DAMAGE CALCULATION
...
{ if (vector=Melee AND HasMeleeResist) //Checks to see if you have a vector-based resist that applies when the attack hits. That's the new part
{tempSmashResist=max(smashResist+MeleeResist,90)}//adds your resist with a 90% max
else {tempSmashResist=smashResist} //Uses just your plain resist.
smashingDamageApplied=AttackDamage-((AttackDamage*tempSmashResist)/100)
}

All this assuming it's a simple Smashing attack of course. Is that any clearer?


 

Posted

Quote:
Originally Posted by Twigman View Post
I believe full auto and a tohit check for each shot ... wouldn't apply to that. But, if DOT is a secondary effect damage, then anything with a primary of smashing or lethal the secondary would not be resisted. Example: fire sword does a primary damage of lethal with a secondary of fire and DOT fire. Would the lethal be the only thing resisted in that case?

BTW: I am in support of the set, I'm just voicing constructive criticism.
Not quite, if DoT remains a hole in the set, then no matter what its type it wouldn't get resisted. But the entire first side of the attack would.Since all your resists would get raised the same by a vector shield, you'd resist the same global percentage through it, but other powers like Tough would help resist some part of dual types more. In this case you'd resist the lethal and fire attack but take the whole fire DoT side. And with Tough, the lethal part would as usual hit for a bit less than the fire.


 

Posted

Quote:
Originally Posted by Netphenix5 View Post
If those resist values appeared out of the damage calculations of the attack, probably. But here, they would be coded into the damage calculation mechanics of each attack, so I don't think latency would have much of an effect. Unless I misunderstand the way those calculations are acted, the game knows how much damage Lift will inflict the moment it hits you even it it's applied after 2 seconds. the resist, I believe, is applied when it hits, not when it goes through, unless it's DoT.
Accuracy and damage buffs are calculated at the start of the attack (for example, Knockout Blow will do full damage even if Rage crashes halfway through the cast), but resistances are applied when damage is dealt. You can see this when, for example, a Paragon Protector uses Unstoppable partway through your finishing attack.

Your pseudocode example doesn't match up with the explanation you've given. The pseudocode has a separate variable for positional resist, and adds it to the typed resist if applicable to find the total resist value it should use, which I thought is what we're trying to avoid? There's no temporary resist boosting going on at all in the example you wrote.
A similar pseudocode writeup of the current system would have no MeleeResist variable (presumably fetched from the target's attributes, meaning it would have to be a combat attribute, meaning you need to add a MeleeResist stat), and no tempSmashResist to calculate. It would fetch smashResist and use it directly.

Also note
Quote:
{tempSmashResist=max(smashResist+MeleeResist,90)}//adds your resist with a 90% max
should be a min(), not a max(). And presumably the 90 is replaced by the appropriate value for other ATs?

Quote:
Originally Posted by Twigman View Post
I believe full auto and a tohit check for each shot ... wouldn't apply to that. But, if DOT is a secondary effect damage, then anything with a primary of smashing or lethal the secondary would not be resisted. Example: fire sword does a primary damage of lethal with a secondary of fire and DOT fire. Would the lethal be the only thing resisted in that case?
Does Full Auto check tohit for each tick? I don't have an Assault Rifle character so I don't know about that specific power, but I know other multi-hit powers like Hail of Bullets use a single tohit check.
As far as the game engine is concerned, I don't know of any distinction between primary and secondary effects/damage types. Fire Sword is both a lethal attack and a fire attack, neither is the primary or secondary type. Occasionally an attack's flags don't match its damage types - for example, Fire Ball does part smashing damage, but is only flagged Fire and AoE - but that's a different thing. Levitate, for example, is flagged Psi but does only Smashing damage.


 

Posted

Quote:
Originally Posted by Hopeling View Post
As far as the game engine is concerned, I don't know of any distinction between primary and secondary effects/damage types. Fire Sword is both a lethal attack and a fire attack, neither is the primary or secondary type. Occasionally an attack's flags don't match its damage types - for example, Fire Ball does part smashing damage, but is only flagged Fire and AoE - but that's a different thing. Levitate, for example, is flagged Psi but does only Smashing damage.

I should hope that it's correct in S/L are primaries and others are secondaries where applicable. if not that was an oversight. of cource, they weren't intending on having positional resistance anyway.

If this was the case. This set could be allowed to have 85% resistance, due to half the the attacks not being resisted at all.