aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim.RegionServer
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim.RegionServer')
-rw-r--r--OpenSim.RegionServer/world/Avatar.cs25
1 files changed, 21 insertions, 4 deletions
diff --git a/OpenSim.RegionServer/world/Avatar.cs b/OpenSim.RegionServer/world/Avatar.cs
index 792e2ff..c8a4539 100644
--- a/OpenSim.RegionServer/world/Avatar.cs
+++ b/OpenSim.RegionServer/world/Avatar.cs
@@ -274,10 +274,23 @@ namespace OpenSim.world
274 { 274 {
275 if (((uint)pack.AgentData.ControlFlags & (uint)MainAvatar.AgentUpdateFlags.AGENT_CONTROL_FLY) != 0) 275 if (((uint)pack.AgentData.ControlFlags & (uint)MainAvatar.AgentUpdateFlags.AGENT_CONTROL_FLY) != 0)
276 { 276 {
277 if (this._physActor.Flying == false)
278 {
279 this.current_anim = Animations.AnimsLLUUID["ANIM_AGENT_FLY"];
280 this.anim_seq = 1;
281 this.SendAnimPack();
282 }
277 this._physActor.Flying = true; 283 this._physActor.Flying = true;
284
278 } 285 }
279 else 286 else
280 { 287 {
288 if (this._physActor.Flying == true)
289 {
290 this.current_anim = Animations.AnimsLLUUID["ANIM_AGENT_STAND"];
291 this.anim_seq = 1;
292 this.SendAnimPack();
293 }
281 this._physActor.Flying = false; 294 this._physActor.Flying = false;
282 } 295 }
283 if (((uint)pack.AgentData.ControlFlags & (uint)MainAvatar.AgentUpdateFlags.AGENT_CONTROL_AT_POS) != 0) 296 if (((uint)pack.AgentData.ControlFlags & (uint)MainAvatar.AgentUpdateFlags.AGENT_CONTROL_AT_POS) != 0)
@@ -286,7 +299,7 @@ namespace OpenSim.world
286 if (((movementflag & 1) == 0) || (q != this.bodyRot)) 299 if (((movementflag & 1) == 0) || (q != this.bodyRot))
287 { 300 {
288 301
289 if ((movementflag & 1) == 0) 302 if (((movementflag & 1) == 0) && (!this._physActor.Flying))
290 { 303 {
291 this.current_anim = Animations.AnimsLLUUID["ANIM_AGENT_WALK"]; 304 this.current_anim = Animations.AnimsLLUUID["ANIM_AGENT_WALK"];
292 this.anim_seq = 1; 305 this.anim_seq = 1;
@@ -395,10 +408,14 @@ namespace OpenSim.world
395 this.forcesList.Add(newVelocity); 408 this.forcesList.Add(newVelocity);
396 movementflag = 0; 409 movementflag = 0;
397 // We're standing still, so make it show! 410 // We're standing still, so make it show!
398 this.current_anim = Animations.AnimsLLUUID["ANIM_AGENT_STAND"]; 411 if (this._physActor.Flying == false)
399 this.anim_seq = 1; 412 {
400 this.SendAnimPack(); 413 this.current_anim = Animations.AnimsLLUUID["ANIM_AGENT_STAND"];
414 this.anim_seq = 1;
415 this.SendAnimPack();
416 }
401 this.movementflag = 16; 417 this.movementflag = 16;
418
402 } 419 }
403 } 420 }
404 } 421 }