PDA

View Full Version : Levitation Bounce


Annihilator
11-11-2008, 12:20 PM
When Secrets of Faydwer went live, SoE removed the bounce effect when you have a levitation type spell on you. Would it be possible to introduce this to the Emu or is it a client thing?

Derision
11-11-2008, 12:32 PM
If you have the ability to edit and compile the source code, changing file spells.cpp line 985 from:


SendAppearancePacket(AT_Levitate, 2, true, true);


to


SendAppearancePacket(AT_Levitate, 1, true, true);


should do the trick. 2 means bounce, 1 means don't bounce :)

Annihilator
11-11-2008, 01:31 PM
That sounds simple enough. I haven't even attempted to do any source modifications yet. I'm still learning perl scripting and cosmetic type things. Could it be added as a rule for easier modification for the novice?

MNWatchdog
11-12-2008, 01:26 AM
Add a rule!

AndMetal
11-12-2008, 01:35 AM
Could it be added as a rule for easier modification for the novice?

I would think this would be an easy way to do it:

SendAppearancePacket(AT_Levitate, RuleB(Character, LevitationBounce) ? 2 : 1, true, true);

Then just define a boolean rule in the rules system with a default value of true.

MNWatchdog
11-12-2008, 01:36 AM
Was just thinking, wouldnt turning off the bounce also reduce the clients sending of location updates since while bouncing, the Z axis is constantly changing?

Its probably the reason Sony changed this beyond the fact that it tends to lag everyone while raiding for those raids where DMF/levitate is needed.

steve
11-12-2008, 04:14 AM
Does the Z axis actually change when bobbing though? I was always under the impression the bobbing was merely just an 'appearance' thing.

KLS
11-12-2008, 04:33 AM
The bobbing is probably just appearance, since everyone bobs at the same rate the client can just set the appearance of a foreign entity to bob and it should match up pretty well. I would be pretty silly if they actually were sending more updates than usual for that, not that I would put it past Sony.

MNWatchdog
11-12-2008, 07:17 AM
Inquiring minds wanna know.

AndMetal
11-12-2008, 08:32 AM
Inquiring minds wanna know.

Answer: lev spells do send Z position updates, which creates a hopping effect if you weren't in the zone when the spell was cast on them.

It doesn't look like we have anything currently send in the spawn packet (http://code.google.com/p/projecteqemu/source/browse/trunk/EQEmuServer/common/eq_packet_structs.h#199) that tells other clients that it's levitating, other than maybe flymode (http://code.google.com/p/projecteqemu/source/browse/trunk/EQEmuServer/common/eq_packet_structs.h#279), so that might be something we need to look into as far as a visual issue.

Derision
11-12-2008, 09:01 AM
Setting the flymode to 1 or 2 in the spawn struct has the same effect as #flymode 1 or 2.

#flymode 1 is not actually levitate without the bounce, as with flymode 1, you can gain height by just looking upwards and moving forwards, which you can't do with levitate.