Aller au contenu

Photo

EffectMovementSpeedIncrease


  • Veuillez vous connecter pour répondre
24 réponses à ce sujet

#1
SKIPPNUTTZ

SKIPPNUTTZ
  • Members
  • 80 messages
Lexicon says this stacks with haste, AND can be an int from 0-99.

Exp Retreat uses this effect with 150.

I made an armor that when equipped would give 150 extra movement speed increase but it doesnt seem to do anything at all, neither does 99 or 250. I really don't think this works with haste anymore. It applies the effect but it has no effect :(

Anyone have any input?

#2
Xardex

Xardex
  • Members
  • 217 messages
Values from 99 and below are added as a plus/minus, 100+ are multiplicatives applied to your speed.
60 = 1.0 + 0.6 speed = 160% MS
-40 = 1.0 - 0.4 speed = 60% MS
160 = 1.6 speed = 160% MS

*snip*

Read next post.

Modifié par Xardex, 03 décembre 2011 - 08:21 .


#3
WhiZard

WhiZard
  • Members
  • 1 204 messages
There are some true points here, but in general the effect needs explaining.

Movement speed effects cap at 1.5 * base movement speed.  If you have monk speed then they cap at (3.0 + monk speed bonus) * base movement speed.

Movement speed effects stack with each other and with haste multiplicatively, however due to the cap, only monks tend to get anything out of stacking.

As Xardex stated there is a discrepancy for values 100 and over as they become a percent multiplication rather than a bonus/penalty (yes effect movement speed increase works with negative numbers and is used for this application in the horse system to attempt to negate monk/barbarian bonuses).

Modifié par WhiZard, 03 décembre 2011 - 08:18 .


#4
Xardex

Xardex
  • Members
  • 217 messages
Oh! That explains a few things... And why my test results were off a little.

Is there a way to breach these caps?

Modifié par Xardex, 03 décembre 2011 - 08:43 .


#5
WhiZard

WhiZard
  • Members
  • 1 204 messages
Looking at the monk feat baseline, in case you want to use it. Giving a monster (without monk levels) the monk speed feat will double the bonus range from 1.5 to 3.0 (roughly double as there is a minimum speed).

I have had little success in getting it to work when giving it to a PC as a bonus feat via their skin.

Monks (who naturally get this feat) have their own bonus which can compound movement speed issues. Monks add (rather than multiply) their bonus to the speed after each speed calculation. However, adding a movement speed effect applies the multiplication recursively, allowing for the monk bonus to be added in multiple times.

e.g. a level 3 monk moves at 1.1 because of the 0.1 bonus. If given haste, the monk moves at 1.1 * 1.5 + 0.1 = 1.75 times normal speed. If given expeditious retreat also he moves at 1.75 * 1.5 + 0.1 = 2.725 times normal speed. If he passes in and out a grease (causing a movement speed decrease effect to be applied and removed) then the removal of the grease effect will cause a recalculation in which case the monk's speed will only be considered once at the end. (His speed would be 1.0 * 1.5 * 1.5 + 0.1 = 2.35). So the cumulative stacking had bought the monk an extra 0.375 bonus beyond what he should have had. Higher monk levels will cause much higher speed beyond the anticipated.

#6
Shadooow

Shadooow
  • Members
  • 4 470 messages

WhiZard wrote...

Looking at the monk feat baseline, in case you want to use it. Giving a monster (without monk levels) the monk speed feat will double the bonus range from 1.5 to 3.0 (roughly double as there is a minimum speed).

What method did you used for this research? Does it also work with armor/shield? What about a monk lvl 1-2?

#7
WhiZard

WhiZard
  • Members
  • 1 204 messages

ShaDoOoW wrote...

WhiZard wrote...

Looking at the monk feat baseline, in case you want to use it. Giving a monster (without monk levels) the monk speed feat will double the bonus range from 1.5 to 3.0 (roughly double as there is a minimum speed).

What method did you used for this research? Does it also work with armor/shield? What about a monk lvl 1-2?


I believe I gave them the feat directly, and I did not test for armor/shield.

Monk levels 1-2 have the bonus capped at 1.5, so the feat is the trigger for the extended bonus range not the monk level.

#8
SKIPPNUTTZ

SKIPPNUTTZ
  • Members
  • 80 messages
So there is basically no way I can move past the hasted movement speed cap without giving players the monk speed feat somehow?

My onequip event, obviously not increasing past hasted value like my OP.
-----

//Graven Robe of Fleetness
if(sTag == "av_cust_armor001")
{
effect eSpeed = EffectMovementSpeedIncrease(250);
effect eVis = EffectVisualEffect(VFX_DUR_AURA_PULSE_PURPLE_BLACK);
effect eLink = EffectLinkEffects(eSpeed, eVis);
eLink = SupernaturalEffect(eLink);

AssignCommand(oPC, PlaySound("sim_movhaste"));
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oPC));
}


#9
WhiZard

WhiZard
  • Members
  • 1 204 messages

SKIPPNUTTZ wrote...

So there is basically no way I can move past the hasted movement speed cap without giving players the monk speed feat somehow?

Looks that way, though I haven't gotten around to testing it, giving it to the PC as a part of leveling up could work, however, I don't know how well that can be to implement from server to client side without having the client use a hak pak.

My onequip event, obviously not increasing past hasted value like my OP.
-----

//Graven Robe of Fleetness
if(sTag == "av_cust_armor001")
{
effect eSpeed = EffectMovementSpeedIncrease(250);
effect eVis = EffectVisualEffect(VFX_DUR_AURA_PULSE_PURPLE_BLACK);
effect eLink = EffectLinkEffects(eSpeed, eVis);
eLink = SupernaturalEffect(eLink);

AssignCommand(oPC, PlaySound("sim_movhaste"));
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oPC));
}


Monks will benefit, all others will not.

#10
SKIPPNUTTZ

SKIPPNUTTZ
  • Members
  • 80 messages
Well awesome idea gone bad..... useless function is useless :(

#11
WhiZard

WhiZard
  • Members
  • 1 204 messages

ShaDoOoW wrote...

Does it also work with armor/shield?


Did a quick test and even for monks who naturally get it, they will not get a range increase (equipping a shield or armor caps the speed bonus at 1.5).  However, once the armor is removed they can fly at their high speed.

Modifié par WhiZard, 03 décembre 2011 - 10:05 .


#12
FunkySwerve

FunkySwerve
  • Members
  • 1 308 messages
That's correct, there's no way around the cap.

As an aside, most class feats like monk speed's only function if they have levels in the class. Some, like ranger hated foes, don't function even if they do, unless they get the feat during a normal levelup or on a level where they could get one - you can't added extras.

Funky

#13
SKIPPNUTTZ

SKIPPNUTTZ
  • Members
  • 80 messages
Yah monk speed only works with monk levels, looks like this concept is a bust. Rinse/Repeat with new effect :) OnEquip appearance changes....

Yah that sucks about Favored Enemies, you can add them as bonus feats but reportedly dont increase dmg or anything, which is extremely detrimental to ranger builds imo. I don't think you can even increase the frequency that they get FE's during lvl ups either without running into a "too many feats" issue, similar to Sneak attack progression. Any comments?

#14
Shadooow

Shadooow
  • Members
  • 4 470 messages

SKIPPNUTTZ wrote...

I don't think you can even increase the frequency that they get FE's during lvl ups either without running into a "too many feats" issue, similar to Sneak attack progression. Any comments?

You can and it works. If you get this message then the server and client leveling 2DAs didn't matched.

#15
WhiZard

WhiZard
  • Members
  • 1 204 messages

FunkySwerve wrote...

That's correct, there's no way around the cap.

As an aside, most class feats like monk speed's only function if they have levels in the class. Some, like ranger hated foes, don't function even if they do, unless they get the feat during a normal levelup or on a level where they could get one - you can't added extras.

Funky


Just to clarify.  The cap override (to 3.0 * movement speed) does not require monk.   The monk speed bonus is purely based off the monk level.

EDIT: Finally tested the feat when given on level up and it does increase the movement speed cap even without the monk class.  Armor and shield restrictions will still apply.

Modifié par WhiZard, 04 décembre 2011 - 02:33 .


#16
Lazarus Magni

Lazarus Magni
  • Members
  • 1 134 messages

ShaDoOoW wrote...

SKIPPNUTTZ wrote...

I don't think you can even increase the frequency that they get FE's during lvl ups either without running into a "too many feats" issue, similar to Sneak attack progression. Any comments?

You can and it works. If you get this message then the server and client leveling 2DAs didn't matched.


Exactly, this is the issue we ran into on Av3 with this edit, as we strive not to require haks (Other than CEP). It works for both the client and the server if they both have the 2da edit, but doesn't if only one does.

Regarding the original topic, I am under the impression if a toon has haste, and doesn't have the monk speed feat, increased movement will do nothing for them. This is why we changed PDK rallying cry from movement increase to APR increase.

Modifié par Lazarus Magni, 04 décembre 2011 - 04:35 .


#17
Axe_Murderer

Axe_Murderer
  • Members
  • 279 messages
There is a way around the cap...sort of. You can adjust the normal movement speed for walking and running in the creaturespeed.2da file. So if the cap isn't fast enough for you, you can make that same cap translate eventually to faster actual motion in the scene via the 2da edit. But it will be that way for everyone independent of any effects or class levels or anything else. The movement speed effect will still work the same but just applied to a guy with a faster top end and normal movement rate. Now, if you increase the speed in the 2da and then slow everybody down with movement effects such that their actual movement through the scene is at the standard 2.0/4.0 walk/run speed that you get from the unedited file, you will have effectively achieved the ability to break the cap via tweaks made to the movement effect. You end up with a bit more speed range to work with. But the trade off is that you must closely manage a movement effect on every single player to keep them from going 'normal' speed, which would now translate into a speed increase over std NWN behavior. It might turn out to be more effort than its worth in the end.

Modifié par Axe_Murderer, 04 décembre 2011 - 05:18 .


#18
WhiZard

WhiZard
  • Members
  • 1 204 messages

Axe_Murderer wrote...

There is a way around the cap...sort of. You can adjust the normal movement speed for walking and running in the creaturespeed.2da file. So if the cap isn't fast enough for you, you can make that same cap translate eventually to faster actual motion in the scene via the 2da edit. But it will be that way for everyone independent of any effects or class levels or anything else. The movement speed effect will still work the same but just applied to a guy with a faster top end and normal movement rate. Now, if you increase the speed in the 2da and then slow everybody down with movement effects such that their actual movement through the scene is at the standard 2.0/4.0 walk/run speed that you get from the unedited file, you will have effectively achieved the ability to break the cap via tweaks made to the movement effect. You end up with a bit more speed range to work with. But the trade off is that you must closely manage a movement effect on every single player to keep them from going 'normal' speed, which would now translate into a speed increase over std NWN behavior. It might turn out to be more effort than its worth in the end.


100% correct, creature speed is a multiplication factor independent of the max and min, however, decreasing the speed say by 50% with effects to complement a doubling of creature speed means that everyone is moving closer to the new minimum speed, and heavily encumbered becomes less of an issue.  The constant monitoring is not so much of an issue, just adjust a few scripts to give the effect and make sure it isn't doubly applied, or completely removed from death or resting.   EffectMovementSpeedIncrease() itself bypasses the normal movement speed decrease immunity.

#19
Axe_Murderer

Axe_Murderer
  • Members
  • 279 messages
Good point about how everything scales 100% that's absolutely true. Not sure you got your math right there tho. You aren't going any closer to minimum speed (which is always zero regardless of top speed), you're still going exactly the same speed, but yeah encumbrance would affect your speed less relative to normal. Those kinds of distortions would become magnified the higher you raise the 2da numbers. Keep your tweaks reasonable and you probably won't notice the difference. You might also see some strangeness with the animations. Maybe your guy will skate a bit or look like he's doing the walk animation when he's running. It's definitely a 'sort-of' solution. I'm not as certain as you that managing the thing is trivial. I'm willing to bet there will be endless situations where your guys will start going normal speed for no apparant reason until you track down why and have to add a tweak...maybe not.

Modifié par Axe_Murderer, 04 décembre 2011 - 06:01 .


#20
SKIPPNUTTZ

SKIPPNUTTZ
  • Members
  • 80 messages

EffectMovementSpeedIncrease() itself bypasses the normal movement speed decrease immunity.


So EffectMovementSpeedIncrease(-150); would bypass Freedom?

#21
WhiZard

WhiZard
  • Members
  • 1 204 messages

SKIPPNUTTZ wrote...

EffectMovementSpeedIncrease() itself bypasses the normal movement speed decrease immunity.


So EffectMovementSpeedIncrease(-150); would bypass Freedom?


Yes, which is how horse riding works for monks.  Though -150 is overkill as it is already way below the minimum.  Did you mean -50?

#22
WhiZard

WhiZard
  • Members
  • 1 204 messages

Axe_Murderer wrote...

I'm willing to bet there will be endless situations where your guys will start going normal speed for no apparant reason until you track down why and have to add a tweak...maybe not.


Perhaps,  most of those bugs come into the interplay of the encumberance, stealth, and detect portion being mishandled, so a loss of an effect could cause a movement spike.  The effects amongst themselves, tend to be pretty stable, recalculating themselves on an effect loss, and going recursive on an effect gain.

One thing I didn't mention is if you double the creature speed you will also double the monk speed bonus regardless of the negative effect you place on them.  Thus monk speed bonus will seem at least twice as powerful as it is in normal play.

#23
Axe_Murderer

Axe_Murderer
  • Members
  • 279 messages

WhiZard wrote...

One thing I didn't mention is if you double the creature speed you will also double the monk speed bonus regardless of the negative effect you place on them.  Thus monk speed bonus will seem at least twice as powerful as it is in normal play.

Well I was assuming that was part of the 'management' you would have to do. Monks would need special treatment to make sure they are slowed more to counteract that distortion. Hasted players would need to be slowed similarly since that's a multiplicative increase also. Encumbrance isn't something you have control over, I don't think, so I wouldn't waste time trying to compensate there. Maybe tweaking encumbrance.2da so it happens at a different time would be good enough.
Point is you can restrict how fast they can go via the effect to match up with normal behavior, whatever that is for the given toon in his current configuration, but you can cut them loose when you want also.

Modifié par Axe_Murderer, 04 décembre 2011 - 06:38 .


#24
FunkySwerve

FunkySwerve
  • Members
  • 1 308 messages

Axe_Murderer wrote...

There is a way around the cap...sort of. You can adjust the normal movement speed for walking and running in the creaturespeed.2da file. So if the cap isn't fast enough for you, you can make that same cap translate eventually to faster actual motion in the scene via the 2da edit. But it will be that way for everyone independent of any effects or class levels or anything else. The movement speed effect will still work the same but just applied to a guy with a faster top end and normal movement rate. Now, if you increase the speed in the 2da and then slow everybody down with movement effects such that their actual movement through the scene is at the standard 2.0/4.0 walk/run speed that you get from the unedited file, you will have effectively achieved the ability to break the cap via tweaks made to the movement effect. You end up with a bit more speed range to work with. But the trade off is that you must closely manage a movement effect on every single player to keep them from going 'normal' speed, which would now translate into a speed increase over std NWN behavior. It might turn out to be more effort than its worth in the end.

We did something akin to this. We introduced a bevy of new movespeeds, and set them dynamically via nwnx. It's a real pita to work with though...nevermind the custom engine hack.

Funky

#25
WhiZard

WhiZard
  • Members
  • 1 204 messages

Axe_Murderer wrote...

WhiZard wrote...

One thing I didn't mention is if you double the creature speed you will also double the monk speed bonus regardless of the negative effect you place on them.  Thus monk speed bonus will seem at least twice as powerful as it is in normal play.

Well I was assuming that was part of the 'management' you would have to do. Monks would need special treatment to make sure they are slowed more to counteract that distortion.


Unfortunately, monk speed factor ties into the speed minimum, so for double creature speed with effect adjustment the new normal speed becomes the minimum speed for a level 12 monk, while before the tweaking normal movement was the minimum speed of a level 27 monk.  Without disabling the monk feat, there is little you can do across the board to scale.