//SPRITE_TYPE_ENEMY31, shield rushing;
enemyAnimations = true;
damagedMaterialOffset = 128;
damagedMaterialLife = 40;
dying2 = true;

anim.m_clamp = false;
anim.m_animationSpeed = 1.0;
anim.m_frameAmount = 4;
anim.m_frameOffset = 0;
animations.Push(anim);
anim.m_frameOffset = 4;
animations.Push(anim);
anim.m_frameOffset = 8;
animations.Push(anim);
anim.m_frameOffset = 12;
animations.Push(anim);

anim.m_animationSpeed = 2.0;
anim.m_frameOffset = 0;
animations.Push(anim);
anim.m_frameOffset = 4;
animations.Push(anim);
anim.m_frameOffset = 8;
animations.Push(anim);
anim.m_frameOffset = 12;
animations.Push(anim);

anim.m_animationSpeed = 2.0;
anim.m_clamp = true;
anim.m_frameAmount = 16;
anim.m_frameOffset = 16;
animations.Push(anim);
anim.m_frameOffset = 32;
animations.Push(anim);
anim.m_frameOffset = 48;
animations.Push(anim);
anim.m_frameOffset = 64;
animations.Push(anim);

anim.m_frameAmount = 4;
anim.m_animationSpeed = 1.0;
anim.m_frameOffset = 108;
animations.Push(anim);

anim.m_frameAmount = 1;
anim.m_frameOffset = 100;
animations.Push(anim);
anim.m_frameOffset = 101;
animations.Push(anim);
anim.m_frameOffset = 102;
animations.Push(anim);
anim.m_frameOffset = 103;
animations.Push(anim);

anim.m_frameOffset = 96;
animations.Push(anim);
anim.m_frameOffset = 97;
animations.Push(anim);
anim.m_frameOffset = 98;
animations.Push(anim);
anim.m_frameOffset = 99;
animations.Push(anim);

// SPRITE_ENEMY_ANIM_ATTACKING2;
anim.m_frameAmount = 4;
anim.m_animationSpeed = 2.1;
anim.m_clamp = true;
anim.m_frameOffset = 80;
animations.Push(anim);
anim.m_frameOffset = 84;
animations.Push(anim);
anim.m_frameOffset = 88;
animations.Push(anim);
anim.m_frameOffset = 92;
animations.Push(anim);

// SPRITE_ENEMY_ANIM_ATTACKING3;
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
// SPRITE_ENEMY_ANIM_ATTACKING4;
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
// SPRITE_ENEMY_ANIM_ATTACKING5;
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
// SPRITE_ENEMY_ANIM_DYING2;
anim.m_animationSpeed = 1.5;
anim.m_frameAmount = 4;
anim.m_frameOffset = 104;
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
// All other attacks;
for (15) {;
    animations.Push(anim);
    animations.Push(anim);
    animations.Push(anim);
    animations.Push(anim);
};
//SPRITE_ENEMY_ANIM_NO_HEAD;
anim.m_frameOffset = 112;
anim.m_frameAmount = 1;
anim.m_clamp = true;
animations.Push(anim);
anim.m_frameOffset = 113;
animations.Push(anim);
anim.m_frameOffset = 114;
animations.Push(anim);
anim.m_frameOffset = 115;
animations.Push(anim);
//SPRITE_ENEMY_ANIM_NO_HEAD_DYING2;
anim.m_frameOffset = 116;
anim.m_frameAmount = 4;
anim.m_clamp = true;
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
//SPRITE_ENEMY_ANIM_SLICED_TOP;
anim.m_frameAmount = 1;
anim.m_clamp = true;
anim.m_frameOffset = 488;
animations.Push(anim);
anim.m_frameOffset = 489;
animations.Push(anim);
anim.m_frameOffset = 490;
animations.Push(anim);
anim.m_frameOffset = 491;
animations.Push(anim);
//SPRITE_ENEMY_ANIM_SLICED_BOTTOM;
anim.m_frameAmount = 1;
anim.m_clamp = true;
anim.m_frameOffset = 504;
animations.Push(anim);
anim.m_frameOffset = 505;
animations.Push(anim);
anim.m_frameOffset = 506;
animations.Push(anim);
anim.m_frameOffset = 507;
animations.Push(anim);
//SPRITE_ENEMY_ANIM_FEET;
anim.m_frameOffset = 124;
anim.m_frameAmount = 1;
anim.m_clamp = true;
animations.Push(anim);
anim.m_frameOffset = 125;
animations.Push(anim);
anim.m_frameOffset = 126;
animations.Push(anim);
anim.m_frameOffset = 127;
animations.Push(anim);
//SPRITE_ENEMY_ANIM_NO_FEET;
anim.m_frameOffset = 128;
anim.m_frameAmount = 1;
anim.m_clamp = true;
animations.Push(anim);
anim.m_frameOffset = 129;
animations.Push(anim);
anim.m_frameOffset = 130;
animations.Push(anim);
anim.m_frameOffset = 131;
animations.Push(anim);


canBeDamaged = true;
delayKill = 0.025;
flammable = true;
Init(vector(2.2, 2.2, 2.2), 1481, 2, 2, 5, 0);
life = 110;

ai.AddDeathNode(9, 0);
ai.AddNode(17, -1.0, -1.0, 0);
ai.SetLastNodeToRunOnClients();
ai.AddDeathNode(16, 1, 0.0);

partStruct.m_managed = false;
partStruct.m_removeIfTargetBleeds = false;
partStruct.m_normalOffset = 0.0;
partStruct.m_rotate = true;
partStruct.m_type = 1;
partStruct.m_useActorCoordinates = false;
partStruct.m_offset = vector(0.0,0.0,0.0);
bleedParticles.Push(partStruct);
partStruct.m_rotate = false;
partStruct.m_type = 0;
partStruct.m_useActorCoordinates = true;
killParticles.Push(partStruct);

[enemy]

addGib(1090);
addGib(1091);
addGib(1092);
addGib(1093);
headGib = 1553;

attackStruct.m_attackAmount = 1;
attackStruct.m_originalAttackAmount = 1;
attackStruct.m_distancePriority = false;
attackStruct.m_pauseTimerAfter = 1.0;
attackStruct.m_reuseTimer = 0.0;
attackStruct.m_reuseTimerOriginal = 5.5;
attackStruct.m_attackRange = 8.0 * cubeSize;
attackStruct.m_attackDelay = 0.5;
attackStruct.m_attackDelayAfterInitial = 0.5;
attackStruct.m_attackSound.m_sound = 424;
attackStruct.m_attackSound.m_volumeMin = 2.0;
attackStruct.m_attackSound.m_volumeMax = 2.0;
attackStruct.m_attackSound.m_pitchMin = 0.9;
attackStruct.m_attackSound.m_pitchMax = 0.9;
attackStruct.m_enemyAttack = 52;
attackStruct.m_attackAnim = 2;
attackStruct.m_extraAttackAnim = 255;
attackStruct.m_canBeCancelled = true;
attackStruct.m_lineOfSight = true;
attackStruct.m_attacksLeftCancel = 1;
//attackStruct.m_attackBeamTime = 0.1;
//attackStruct.m_attackBeamTimer = 0.0;
//attackStruct.m_attackBeamType = 1063;
attacks.Push(attackStruct);
attackStruct.m_attackAmount = 1;
attackStruct.m_originalAttackAmount = 1;
attackStruct.m_distancePriority = false;
attackStruct.m_pauseTimerAfter = 1.0;
attackStruct.m_reuseTimer = 2.0;
attackStruct.m_reuseTimerOriginal = 2.0;
attackStruct.m_attackRange = 8.0 * cubeSize;
attackStruct.m_attackDelay = 0.5;
attackStruct.m_attackDelayAfterInitial = 0.5;
attackStruct.m_attackSound.m_sound = 66;
attackStruct.m_attackSound.m_pitchMin = 0.95;
attackStruct.m_attackSound.m_pitchMax = 1.05;
attackStruct.m_enemyAttack = 51;
attackStruct.m_attackAnim = 6;
attackStruct.m_extraAttackAnim = 255;
attackStruct.m_canBeCancelled = true;
attackStruct.m_lineOfSight = true;
attackStruct.m_attacksLeftCancel = 1;
attackStruct.m_attackBeamTime = 0.0;
attackStruct.m_attackBeamTimer = 0.0;
attackStruct.m_genProjDamage = 10;
attackStruct.m_genProjRecoil = 3.0;
attackStruct.m_genProjAmount = 3;
attackStruct.m_genProjType = 87;
attacks.Push(attackStruct);

yellTime = 0.3;
runSpeed = 800.0;
stepDelay = 0.48125;
painTreshold = 20;
jumps = true;
flies = false;
headshotHalfAngle = 35.0;
headshotMinZPercent = 0.375;
headshotMaxZPercent = 0.625;
headshotHeadInFront = true;
turnSpeed = 270.0;
stepSound.m_sound = 19;
idleSound.m_sound = 796;
yellSound.m_sound = 797;
painSound.m_sound = 798;
dieSound.m_sound = 799;
m_attackShockStacks = 15;