//SPRITE_TYPE_ENEMY33, shock zombie;
enemyAnimations = true;
damagedMaterialOffset = 96;
damagedMaterialLife = 20;
dying2 = true;

//SPRITE_ENEMY_ANIM_STANDING;
anim.m_clamp = false;
anim.m_animationSpeed = 2.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);
// SPRITE_ENEMY_ANIM_RUNNING;
anim.m_animationSpeed = 2.15;
anim.m_frameOffset = 16;
animations.Push(anim);
anim.m_frameOffset = 20;
animations.Push(anim);
anim.m_frameOffset = 24;
animations.Push(anim);
anim.m_frameOffset = 28;
animations.Push(anim);
// SPRITE_ENEMY_ANIM_ATTACKING;
anim.m_animationSpeed = 1.75;
anim.m_clamp = true;
anim.m_frameOffset = 32;
animations.Push(anim);
anim.m_frameOffset = 36;
animations.Push(anim);
anim.m_frameOffset = 40;
animations.Push(anim);
anim.m_frameOffset = 44;
animations.Push(anim);
// SPRITE_ENEMY_ANIM_DYING;
anim.m_animationSpeed = 2.0;
anim.m_frameOffset = 92;
animations.Push(anim);
// SPRITE_ENEMY_ANIM_PAIN
anim.m_frameAmount = 1;
anim.m_frameOffset = 84;
animations.Push(anim);
anim.m_frameOffset = 85;
animations.Push(anim);
anim.m_frameOffset = 86;
animations.Push(anim);
anim.m_frameOffset = 87;
animations.Push(anim);
// SPRITE_ENEMY_ANIM_YELL;
anim.m_frameAmount = 1;
anim.m_frameOffset = 80;
animations.Push(anim);
anim.m_frameOffset = 81;
animations.Push(anim);
anim.m_frameOffset = 82;
animations.Push(anim);
anim.m_frameOffset = 83;
animations.Push(anim);
// SPRITE_ENEMY_ANIM_ATTACKING2;
anim.m_frameAmount = 4;
anim.m_frameOffset = 64;
animations.Push(anim);
anim.m_frameOffset = 68;
animations.Push(anim);
anim.m_frameOffset = 72;
animations.Push(anim);
anim.m_frameOffset = 76;
animations.Push(anim);
// SPRITE_ENEMY_ANIM_ATTACKING3;
anim.m_frameAmount = 2;
anim.m_animationSpeed = 6.0;
anim.m_frameOffset = 80;
animations.Push(anim);
anim.m_frameOffset = 82;
animations.Push(anim);
anim.m_frameOffset = 84;
animations.Push(anim);
anim.m_frameOffset = 86;
animations.Push(anim);
// SPRITE_ENEMY_ANIM_ATTACKING4;
anim.m_frameAmount = 4;
anim.m_animationSpeed = 4.0;
anim.m_frameOffset = 32;
animations.Push(anim);
anim.m_frameOffset = 36;
animations.Push(anim);
anim.m_frameOffset = 40;
animations.Push(anim);
anim.m_frameOffset = 44;
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 = 2.5;
anim.m_frameAmount = 4;
anim.m_frameOffset = 88;
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 = 96;
anim.m_frameAmount = 1;
anim.m_clamp = true;
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_NO_HEAD_DYING2;
anim.m_frameOffset = 100;
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 = 392;
animations.Push(anim);
anim.m_frameOffset = 393;
animations.Push(anim);
anim.m_frameOffset = 394;
animations.Push(anim);
anim.m_frameOffset = 395;
animations.Push(anim);
//SPRITE_ENEMY_ANIM_SLICED_BOTTOM;
anim.m_frameAmount = 1;
anim.m_clamp = true;
anim.m_frameOffset = 424;
animations.Push(anim);
anim.m_frameOffset = 425;
animations.Push(anim);
anim.m_frameOffset = 426;
animations.Push(anim);
anim.m_frameOffset = 427;
animations.Push(anim);
//SPRITE_ENEMY_ANIM_FEET;
anim.m_frameOffset = 108;
anim.m_frameAmount = 1;
anim.m_clamp = true;
animations.Push(anim);
anim.m_frameOffset = 109;
animations.Push(anim);
anim.m_frameOffset = 110;
animations.Push(anim);
anim.m_frameOffset = 111;
animations.Push(anim);
//SPRITE_ENEMY_ANIM_NO_FEET;
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);


canBeDamaged = true;
delayKill = 0.025;
flammable = true;
Init(vector(1.1, 2.2, 1.1), 1491, 2, 2, 5, 0);
life = 50;

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(1100);
addGib(1101);
addGib(1102);
addGib(1103);
headGib = 1547;

attackStruct.m_attackAmount = 1;
attackStruct.m_originalAttackAmount = 1;
attackStruct.m_distancePriority = false;
attackStruct.m_pauseTimerAfter = 0.1;
attackStruct.m_reuseTimer = 5.0;
attackStruct.m_reuseTimerOriginal = 5.0;
attackStruct.m_attackRange = 10.0 * cubeSize;
attackStruct.m_attackDelay = 1.0;
attackStruct.m_attackDelayAfterInitial = 0.5;
attackStruct.m_attackSound.m_sound = 350;
attackStruct.m_attackSound.m_volumeMin = 1.5;
attackStruct.m_attackSound.m_volumeMax = 1.5;
attackStruct.m_attackSound.m_pitchMin = 1.5;
attackStruct.m_attackSound.m_pitchMax = 1.55;
attackStruct.m_enemyAttack = 50;
attackStruct.m_attackAnim = 2;
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 = 1;
attackStruct.m_genProjRecoil = 0.0;
attackStruct.m_genProjAmount = 1;
attackStruct.m_genProjType = 1118;
attackStruct.m_genProjZOffset = 0.0;
attackStruct.m_genProjVel = 3500.0;
attackStruct.m_genProjPitch = 9.0;
attackStruct.m_genProjSpoken = false;
attacks.Push(attackStruct);
attackStruct.m_attackAmount = 1;
attackStruct.m_originalAttackAmount = 1;
attackStruct.m_distancePriority = false;
attackStruct.m_pauseTimerAfter = 0.0;
attackStruct.m_reuseTimer = 0.0;
attackStruct.m_reuseTimerOriginal = 2.5;
attackStruct.m_attackRange = 3.0 * cubeSize;
attackStruct.m_attackDelay = 0.22;
attackStruct.m_attackDelayAfterInitial = 0.0;
attackStruct.m_attackSound.m_sound = 805;
attackStruct.m_attackSound.m_volumeMin = 1.25;
attackStruct.m_attackSound.m_volumeMax = 1.25;
attackStruct.m_attackSound.m_pitchMin = 1.7;
attackStruct.m_attackSound.m_pitchMax = 1.7;
attackStruct.m_enemyAttack = 10;
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;
attacks.Push(attackStruct);
attackStruct.m_attackAmount = 3;
attackStruct.m_originalAttackAmount = 3;
attackStruct.m_distancePriority = true;
attackStruct.m_pauseTimerAfter = 0.0;
attackStruct.m_reuseTimer = 2.0;
attackStruct.m_reuseTimerOriginal = 2.0;
attackStruct.m_attackRange = 5.0 * cubeSize;
attackStruct.m_attackDelay = 0.25;
attackStruct.m_attackDelayAfterInitial = 0.125;
attackStruct.m_attackSound.m_sound = 62;
attackStruct.m_attackSound.m_volumeMin = 1.1;
attackStruct.m_attackSound.m_volumeMax = 1.1;
attackStruct.m_attackSound.m_pitchMin = 1.3;
attackStruct.m_attackSound.m_pitchMax = 1.4;
attackStruct.m_enemyAttack = 50;
attackStruct.m_attackAnim = 8;
attackStruct.m_extraAttackAnim = 8;
attackStruct.m_canBeCancelled = false;
attackStruct.m_lineOfSight = true;
attackStruct.m_attacksLeftCancel = 1;
attackStruct.m_attackBeamTime = 0.0;
attackStruct.m_attackBeamTimer = 0.0;
attackStruct.m_genProjDamage = 5;
attackStruct.m_genProjRecoil = 15.0;
attackStruct.m_genProjAmount = 3;
attackStruct.m_genProjType = 88;
attackStruct.m_genProjZOffset = 0.0;
attackStruct.m_genProjVel = 1500.0;
attackStruct.m_genProjPitch = 0.0;
attackStruct.m_genProjSpoken = false;
attacks.Push(attackStruct);

dodgeChance = 0.5;
attackShockStacks = 15;
yellTime = 0.3;
runSpeed = 1100.0;
stepDelay = 0.48125;
painTreshold = 20;
jumps = true;
flies = false;
headshotMinZPercent = 0.75;
headshotMaxZPercent = 1.0;
headshotHeadInFront = false;
turnSpeed = 360.0;
idleSound.m_sound = 804;
yellSound.m_sound = 805;
yellSound.m_volumeMin = 1.25;
yellSound.m_volumeMax = 1.25;
painSound.m_sound = 806;
dieSound.m_sound = 807;
dieSound.m_volumeMin = 1.35;
dieSound.m_volumeMax = 1.35;
//forcedEscapeRange = 3.0 * cubeSize;