I haven't been on Demise for almost 4 years, I came back thanks to the ML changes. But unfortunately, my 4 years-old problems still persist. I don't know if Feint ability was fixed, I will try that later but now Momentum Strike is not working as intended.
First of all, momentum strike sound effect is not 0x510 as it was written in MomentumStrike.cs, it is 0x51F
In MomentumStrike.cs :
to
The most important problem is that a successful momentum strike must not change the current combatant of the attacker. In Demise, whenever you use momentum strike, your combatant becomes the second target which is not OSI accurate and is annoying to lose your focus to your main target. I can even confirm this with a video on OSI.
Fix:
In MomentumStrike.cs, Line 62:
OnSwing method has a line like:
In which the HarmfulCheck() function calls :
^^^^
There is the problem, DoHarmful function must somehow get the second parameter (bool indirect) as true. Because whenever it is false, you lose your combatant focus to the next target as it also exists in the code, Mobile.cs, DoHarmful() function:
The video from OSI I have just captured:
also notice that the damage thingy works differently, it seems every hit of momentum applies some damage bonus to the second target and %100 DI at the last hit.
EDIT:
Oh plus, momentum strike only works if the second target is next to you, which is also wrong in Demise
In MomentumStrike.cs:
It is not related with weapon range, even you use a bow, the second target must be next to you.
Thanks for bringing ML but I think you should also focus on SE inaccuracies which I have been waiting for years... I will try Feint ability whenever I get my Wind's Edge, Evasion was also not working properly I don't know if it was fixed. Same for Confidence, it's still working incorrectly (regen intervals, parry etc.). Please fix bushido abilities, there are only 6 but they are still working strangely.
EDIT 2 IMPORTANT
Your second target doesn't need to aggro you. In Demise, in order for momentum strike to work, your second target must be directly attacking you but In OSI, there is no such thing. The video below which I have just tested on OSI TC is about testing this behaviour. I also remember that from my ML experiences on OSI. The only criteria momentum strike has is that the second target must be next to you and it must be able to be aggro'ed by you (just like casting Earthquake). Video :
The fix is, In MomentumStrike.cs line 37:
must be changed with:
First of all, momentum strike sound effect is not 0x510 as it was written in MomentumStrike.cs, it is 0x51F
In MomentumStrike.cs :
Code:
attacker.PlaySound( 0x510 );
to
Code:
attacker.PlaySound( 0x51F );
The most important problem is that a successful momentum strike must not change the current combatant of the attacker. In Demise, whenever you use momentum strike, your combatant becomes the second target which is not OSI accurate and is annoying to lose your focus to your main target. I can even confirm this with a video on OSI.
Fix:
In MomentumStrike.cs, Line 62:
Code:
weapon.OnSwing( attacker, target, damageBonus );
OnSwing method has a line like:
Code:
if ( canSwing && attacker.HarmfulCheck( defender ) )
In which the HarmfulCheck() function calls :
Code:
DoHarmful( target );
There is the problem, DoHarmful function must somehow get the second parameter (bool indirect) as true. Because whenever it is false, you lose your combatant focus to the next target as it also exists in the code, Mobile.cs, DoHarmful() function:
Code:
if( !indirect )
Combatant = target;
The video from OSI I have just captured:
also notice that the damage thingy works differently, it seems every hit of momentum applies some damage bonus to the second target and %100 DI at the last hit.
EDIT:
Oh plus, momentum strike only works if the second target is next to you, which is also wrong in Demise
In MomentumStrike.cs:
Code:
foreach ( Mobile m in attacker.GetMobilesInRange( weapon.MaxRange ) )
It is not related with weapon range, even you use a bow, the second target must be next to you.
Thanks for bringing ML but I think you should also focus on SE inaccuracies which I have been waiting for years... I will try Feint ability whenever I get my Wind's Edge, Evasion was also not working properly I don't know if it was fixed. Same for Confidence, it's still working incorrectly (regen intervals, parry etc.). Please fix bushido abilities, there are only 6 but they are still working strangely.
EDIT 2 IMPORTANT
Your second target doesn't need to aggro you. In Demise, in order for momentum strike to work, your second target must be directly attacking you but In OSI, there is no such thing. The video below which I have just tested on OSI TC is about testing this behaviour. I also remember that from my ML experiences on OSI. The only criteria momentum strike has is that the second target must be next to you and it must be able to be aggro'ed by you (just like casting Earthquake). Video :
The fix is, In MomentumStrike.cs line 37:
Code:
if ( m.Combatant != attacker )
continue;
must be changed with:
Code:
if (!(SpellHelper.ValidIndirectTarget( attacker, m ) || attacker.CanBeHarmful( m, false )))
continue;