Undo the alleged MCP "fix" for Absorb spell reflection

Feedback on past, current, and future development.
Schwerpunkt
Posts: 11
Joined: 05 Dec 2017, 14:41

Re: Undo the alleged MCP "fix" for Absorb spell reflection

Post by Schwerpunkt »

Chris wrote: 21 Dec 2017, 05:38Which is what's happening. The target of the health damage is changed and the target of the health restoration is changed too.
The target of the health damage is changed, but the target of the health restore isn't -- the reflector wasn't the target of the health restore, the caster was. So reflect would have no effect on it.
Chris wrote: 21 Dec 2017, 05:38Think of it as a wire connecting the caster and victim. With a normal damage or healing spell, the caster's end is neutral and the victim's is negative or positive. When reflected, this is reversed so the victim's end is neutral and the caster's is negative or positive. With an absorb spell, the caster's end is positive and the victim's is negative. When reflected, this is reversed so the victim's end is positive and the caster's is negative. It's like looking in a mirror -- left becomes right in the reflection, and right becomes left in the reflection.
That isn't how reflection works. Bethesda chose "reflect" for a reason.

You can only reflect something that was directed at you. The restore health portion of the absorb health spell isn't directed at you, the target, so you can't reflect it. It is directed at the caster.
Chris wrote: 21 Dec 2017, 05:38That's taking it too literally. In that case, a fireball should bounce off an enemy with reflect magic, but instead the damage is calculated on the victim and applied on the caster as if there's an invisible connection between them that got reversed.
It really isn't. It's literally the magical version of hitting a baseball with a bat. When you cast fireball and the person reflects it, the entire spell is reflected because the entire spell was cast at the target. Absorb health works differently -- the entire spell isn't cast at the target, only a portion is. Again, it's like a ball tied to a string tied to your finger. The ball is the damage health portion of the spell and the string is the restore health portion. Hitting the ball with a bat doesn't affect who the string is tied to -- it's still tied to the caster.
User avatar
Jemolk
Posts: 237
Joined: 20 Mar 2017, 02:12
Location: Sadrith Mora

Re: Undo the alleged MCP "fix" for Absorb spell reflection

Post by Jemolk »

Chris wrote: 21 Dec 2017, 05:38
Schwerpunkt wrote: 21 Dec 2017, 02:38 When you reflect something, you don't make yourself the originator. You're just changing the target.
Which is what's happening. The target of the health damage is changed and the target of the health restoration is changed too.
Except the restore doesn't target. It just affects the caster, all the time. You can't change the target of something that doesn't have a target.
Chris wrote: 21 Dec 2017, 05:38 Think of it as a wire connecting the caster and victim. With a normal damage or healing spell, the caster's end is neutral and the victim's is negative or positive. When reflected, this is reversed so the victim's end is neutral and the caster's is negative or positive. With an absorb spell, the caster's end is positive and the victim's is negative. When reflected, this is reversed so the victim's end is positive and the caster's is negative. It's like looking in a mirror -- left becomes right in the reflection, and right becomes left in the reflection.
Except the end of the wire that never even approaches the reflecting target can't be reflected. Hence the wire ends up attached at both ends to the original caster, who drains his or her own health and heals by the amount drained. You're not reversing the spell, you're just reflecting the effects.
Chris wrote: 21 Dec 2017, 05:38
Try thinking of a flashlight pointed at a mirror -- the mirror doesn't suddenly become the flashlight. It's just a mirror. That it reflects light doesn't make it the originator, the flashlight is still the originator.
That's taking it too literally. In that case, a fireball should bounce off an enemy with reflect magic, but instead the damage is calculated on the victim and applied on the caster as if there's an invisible connection between them that got reversed.
Actually, pretty sure the damage is just calculated on the caster. The difference is that weaknesses on the target don't increase the damage to the caster, and resistances on the target don't decrease it. That means reflect just changes the target of the spell to the spell's caster.

Just for the record, though, I would be delighted if the long-term fix for reflect was to cause the projectiles to ricochet back towards the caster, and I think that if anything that would be more consistent with the sort of reflect behavior with Absorb you're advocating for, since it would effectively change the caster by changing the originator of the projectile. Thing is, then I still wouldn't just randomly die, because I could dodge the reflected spell. Win-win.
User avatar
AnyOldName3
Posts: 2666
Joined: 26 Nov 2015, 03:25

Re: Undo the alleged MCP "fix" for Absorb spell reflection

Post by AnyOldName3 »

I knew when I made that last suggestion that it would need an accompanying diagram, so here it is:
Reflecting a spell with a negative effect
Reflecting a spell with a negative effect
When someone casts a spell with a negative effect, but the target is reflecting it, the entire spell is reflected back at the caster. This is vanilla behaviour and OpenMW does it, too.


Reflecting a spell with a positive effect
Reflecting a spell with a positive effect
However, the vanilla reflect spell effect does not reflect the positive effects of spells, such as healing, and based on the fact that there's not been a thread complaining about it, I'd assume OpenMW does it this way, too.


Reflecting a spell with both positive and negative effects
Reflecting a spell with both positive and negative effects
When a spell has both effects, I'm pretty sure only the negative components of the spell are reflected. Ideally, someone should verify this for me, as I've never actually cast such a spell at a target using reflect in either engine.


Reflecting an absorb health spell in OpenMW and MCP
Reflecting an absorb health spell in OpenMW and MCP
This suggests to me that if the health flows along the spell path as a positive magical effect (or if the reflect spell works by simply swapping target and caster to give a 'mirror image' instead of working like a mirror on the spells' effects, but that's an argument for another day) it should go to the original target. The initial negative effect gets reflected, but the returning healing effect is a positive one, so passes through the reflect barrier. If we take the numerous examples of bugs in Bethesda games as evidence that Bethesda does not have infallible programmers, a claim can be made that this is what their bosses asked them to implement.


Reflecting an absorb health spell in Vanilla Morrowind
Reflecting an absorb health spell in Vanilla Morrowind
If, however, the health doesn't flow back along the spell path and jumps straight to the caster, your desired behaviour makes the most sense. You've got a pretty good grasp on how this mechanic is supposed to work already, and I hope I've illustrated it to your satisfaction.



Your desired behaviour would also be achieved if the returning health was an orange line, not a blue line, or the original orange line acted like a tube or something, but I feel like five diagrams are enough to show that a metaphor using mirrors can be used to 'prove' either viewpoint.

So, after all these diagrams, I hope you see why some people might believe that the vanilla behaviour was an accident and MCP's makes more sense to them, despite agreeing about the basic idea of modelling it as a mirror. As for deciding if health flows along the spell path or teleports to the original caster, someone might decide they like the flowing idea better because of clues like how in Skyrim (and potentially Morrowind, too, but I've never cast an absorb spell myself) the visual effect shows particles travelling along the spell path to the caster. A visual effect isn't something that can be trusted outright, but it could hint at what the designer thought was happening, and the debate is never anything more than whether or not the mechanic in the game is what its designer was trying to put in the game, regardless of what actually ended up there in its place.

Edit reason: More obvious line breaks were needed.
Chris
Posts: 1625
Joined: 04 Sep 2011, 08:33

Re: Undo the alleged MCP "fix" for Absorb spell reflection

Post by Chris »

Schwerpunkt wrote: 21 Dec 2017, 21:25 The target of the health damage is changed, but the target of the health restore isn't -- the reflector wasn't the target of the health restore, the caster was. So reflect would have no effect on it.
The two effects are intrinsically linked as one. Absorb spells have a single Absorb effect rather than two distinct Damage Target and Restore Self effects for a reason: affecting one inherently affects the other. Resist Magic by the target also has an effect on the "restore health" part of absorb, even though what you say should mean the target only resists the damage and the caster should still receive the restore.
That isn't how reflection works. Bethesda chose "reflect" for a reason.
And I gave a reason for why "reflect" can be considered a reversal of effects (as in how a mirror reverses the left and right sides of the reflected image), rather than a bounce of directed energy. What you want to believe Bethesda intended with the term "reflect" is your opinion, but ultimately inconsequential; its the intended mechanics that matter (and as I said, I'm fine with an option for people to select which behavior they want).
It really isn't. It's literally the magical version of hitting a baseball with a bat. When you cast fireball and the person reflects it, the entire spell is reflected because the entire spell was cast at the target.
Hence the bounce analogy. But as we see that's not what happens: the effect explodes on and is calculated on the target, but the damage is given to the caster without the spell being hit back. It's important to note that you can't reflect a reflected spell -- if it's "hit back", you'd expect the effect to continually hit back and forth for as long as it rolled successes, but instead the reflect only happens at most once (i.e. the spell either works as normal, or is reversed by the target with no input from the caster's reflection). Similarly, you can't reflect AoE effects. These indicate that the target's not simply "hitting back" the spell effect with reflect, but is instead a more complicated arrangement between the caster and target.
Jemolk wrote: 22 Dec 2017, 00:28 Except the end of the wire that never even approaches the reflecting target can't be reflected. Hence the wire ends up attached at both ends to the original caster, who drains his or her own health and heals by the amount drained.
That would imply on-touch spells can't be reflected, since it's done through literal physical contact.
Just for the record, though, I would be delighted if the long-term fix for reflect was to cause the projectiles to ricochet back towards the caster, and I think that if anything that would be more consistent with the sort of reflect behavior with Absorb you're advocating for, since it would effectively change the caster by changing the originator of the projectile.
It wouldn't really, as it's more consistent with what you've said (Schwerpunkt even used the mirror-bounce analogy that should result in this behavior). The spell bouncing also wouldn't change the originating caster for that reason: if a light beam bounces off a mirror, the mirror doesn't become a flashlight, it just changed the angular momentum of the projectile (if I shine a flashlight onto a mirror which bounced the light beam into my eye, it's not the mirror that blinded me, but I blinded myself with the flashlight). It also fails to account for on-touch effects where there is no projectile.
kuyondo
Posts: 243
Joined: 29 Mar 2016, 17:45

Re: Undo the alleged MCP "fix" for Absorb spell reflection

Post by kuyondo »

simple solution:

1. Just copy the way vanilla works, vanilla still vanilla
2. Because its not a bug(not causing game any problems)
3. Because its more subjective issue
4. We can still mod the way we want it in the future. post 1.0

Arguing whether this or that mechanic makes more sense, is futile in this case.

Theres a PR that was merged, that makes eaten ingredients strength and duration effects to be based on skills. With a high enough skill, eating a mere ingredient can outvalue any premade potions. Doesnt make sense in my opinion, eating a bread/mudcrab meat with a high skill can restore my fatigue much better than an exquisite potion? no way. Your skill doesnt determine how strong the ingredient affects you, it determines how well you create the effect, by magic or alchemy.
But since its how vanilla works, it was accepted. Why not this?
Schwerpunkt
Posts: 11
Joined: 05 Dec 2017, 14:41

Re: Undo the alleged MCP "fix" for Absorb spell reflection

Post by Schwerpunkt »

I really don't want to have to draw pictures or write an essay here. So I won't. We can agree to disagree, however:

The vanilla game is backing up my explanation of how it works. What you two are saying directly contradicts how the vanilla game works, and the entire point of the OpenMW project is to emulate the vanilla game.

Obvious bugs are one thing, this is another. There are multiple ways an absorb spell could work, including the way you describe. But since the vanilla game backs up my description, then that is how it should work in OpenMW (at least as the default behavior).
Last edited by Schwerpunkt on 22 Dec 2017, 20:04, edited 1 time in total.
User avatar
AnyOldName3
Posts: 2666
Joined: 26 Nov 2015, 03:25

Re: Undo the alleged MCP "fix" for Absorb spell reflection

Post by AnyOldName3 »

@kuyondo

The people who took part in the original discussion seemed to think that as MCP had declared it a bug in vanilla, it was a bug in vanilla, and therefore the behaviour of OpenMW is allowed to 'fix' it. However, it seems like it was actually only one OpenMW team member who made that decision, so I've unrejected the bug and put its status back to 'New' in the hope that someone more senior than me can deal with it. As far as people on the forum are concerned, the problem is 'being dealt with' meaning OpenMW 1.0 won't happen before someone important has made a decision, but with this being an open-source project, it may be a while before someone important actually does make that decision.

Most of the rest of the debate here (or at least the bit that I've taken part in) is because a handful of users have made claims suggesting that anyone who speaks English well enough to know what 'Reflect' means should be completely opposed to one behaviour or the other. This has sort of derailed the original discussion (after all, the bug has been reopened, so the problem will eventually go away) but no-one's counting it as completely off topic and removing it because when the bug is fixed, the people fixing it might want to gauge user attitude when deciding whether to do a total switch or keep it as an option, and if it's an option, which version to make the default.
User avatar
AnyOldName3
Posts: 2666
Joined: 26 Nov 2015, 03:25

Re: Undo the alleged MCP "fix" for Absorb spell reflection

Post by AnyOldName3 »

@Schwerpunkt

I'm not arguing with your explanation itself, but it seemed like you were saying anyone who preferred the MCP behaviour didn't know what the word 'Reflect' meant.
Schwerpunkt
Posts: 11
Joined: 05 Dec 2017, 14:41

Re: Undo the alleged MCP "fix" for Absorb spell reflection

Post by Schwerpunkt »

AnyOldName3 wrote: 22 Dec 2017, 20:04Most of the rest of the debate here (or at least the bit that I've taken part in) is because a handful of users have made claims suggesting that anyone who speaks English well enough to know what 'Reflect' means should be completely opposed to one behaviour or the other.
Because reflection isn't the same as swapping the roles of caster and target. Reflection only affects the portion of the spell that was intended for the target. It would not affect the portion that was intended for the caster.

The entire spell isn't sent to the target to be cast back at the caster. The caster drains the target's health and uses that health to restore their own. The effect reflect would have matches the vanilla mechanic: instead of draining the target's health to restore their own, the caster drains their own health, which results in their overall health not changing.

You're suggesting the vanilla mechanic is wrong and providing a logic for why that would be the case. That's fine, but since my explanation is equally as plausible, then no changes should be made to the vanilla mechanic as it isn't an obvious bug -- people just have a different opinion on how it "works".
Chris
Posts: 1625
Joined: 04 Sep 2011, 08:33

Re: Undo the alleged MCP "fix" for Absorb spell reflection

Post by Chris »

kuyondo wrote: 22 Dec 2017, 19:42 Theres a PR that was merged, that makes eaten ingredients strength and duration effects to be based on skills. With a high enough skill, eating a mere ingredient can outvalue any premade potions. Doesnt make sense in my opinion, eating a bread/mudcrab meat with a high skill can restore my fatigue much better than an exquisite potion? no way. Your skill doesnt determine how strong the ingredient affects you, it determines how well you create the effect, by magic or alchemy.
But since its how vanilla works, it was accepted. Why not this?
Because that was intended behavior. The scale could probably do with some balance tweaking, but it was obviously meant for your skill to have some effect on wortcraft since they specifically coded that behavior. In contrast, it's debatable whether or not reflect magic was intended to only resist an absorb effect considering the point of reflect spells is to give back damage given to the target. Given that absorb is one of the more complicated effects with how it does multiple things at once between specific characters, and normally deals with simpler damage- or drain-only effects, it's not obvious whether reflect simply nullifying absorb was specifically coded behavior or an unintended side-effect resulting from how they individually coded reflect and absorb.

That is to say, given that Resist Magic has the same effect as Reflect Magic on absorb effects in vanilla, and the point of Reflect is to give the damage back to the caster vs Resist simply blocking it, there's a strong case to make for it being a bug resulting from a system that fails to account for the complexity of the absorb effect.
Locked