Play one animation after another... need help with Queued

When my character gets within range of my enemy I want the enemy to play through his current animation but stop when it finishes and play the attack animation. The problem is I can’t get it to play through. What happens right now is my enemy stops his current animation and the frame jumps to the beginning of the new animation without actually completing the first animation. crossfadequeued or playqueued are both having the same effect. I’ve tried all wrap modes for the first animation as well… no luck. Here is my script. If anyone has suggestions I’d be most grateful. Thanks!

var explosion : Transform;
var animatedPumpkin : GameObject;
var target : Transform;
var attackDistance : float = 5;
var rotateSpeed = 300;
private var rotate : Quaternion;
var speed : float = 10;


function Start () {
animatedPumpkin.animation["PumpkinJump"].wrapMode = WrapMode.Loop;
animatedPumpkin.animation["PumpkinAttack"].wrapMode = WrapMode.Loop;
}

function Update () {
var tgtDir = target.position - transform.position;
var tgtDist = tgtDir.magnitude; 
if (tgtDist <= attackDistance) {
Attack();
}
if (tgtDist > attackDistance) {
animatedPumpkin.animation.Play("PumpkinJump");
fireParticle.renderer.enabled = false;
}
}

function Attack() {
attackDistance = 100;
animatedPumpkin.animation["PumpkinJump"].wrapMode = WrapMode.Once;
animatedPumpkin.animation.PlayQueued("PumpkinAttack", QueueMode.CompleteOthers); 
fireParticle.renderer.enabled = true;
yield WaitForSeconds(1);
	var moveDirection = target.position - transform.position;
    moveDirection.y = 0;  
    rotate = Quaternion.FromToRotation(Vector3.forward, moveDirection);
    transform.rotation = Quaternion.RotateTowards(transform.rotation, rotate, rotateSpeed * Time.deltaTime);
    var velocity = moveDirection.normalized * speed;  
    rigidbody.velocity = velocity;
    yield WaitForSeconds(4);
    Destroy(gameObject);
    Instantiate(explosion, transform.position, explosion.transform.rotation);
}

Animations are tricky… sometimes it just takes a little bit of playing around until you get the right effect. I got it working… I set the wrap mode for pumpkinJump from “Once” to “ClampForever” then instead of Queueing the next animation I crossfaded into it and made a boolean to say if the jump animation is playing then don’t play the attack animation.