//SPRITE_TYPE_PLAYER;
enemyAnimations = true;
damagedMaterialOffset = 160;
damagedMaterialLife = 40;
dying2 = true;
permanent = true;
usePlayerTime = true;

//SPRITE_ENEMY_ANIM_STANDING;
anim.m_clamp = false;
anim.m_animationSpeed = 0.5;
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.0;
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  immobile crouch;
anim.m_clamp = false;
anim.m_animationSpeed = 0.5;
anim.m_frameAmount = 4;
anim.m_frameOffset = 128;
animations.Push(anim);
anim.m_frameOffset = 132;
animations.Push(anim);
anim.m_frameOffset = 136;
animations.Push(anim);
anim.m_frameOffset = 140;
animations.Push(anim);

//SPRITE_ENEMY_ANIM_DYING;
anim.m_clamp = true;
anim.m_animationSpeed = 1.0;
anim.m_frameAmount = 4;
anim.m_frameOffset = 96;
animations.Push(anim);

//SPRITE_ENEMY_ANIM_PAIN;
anim.m_frameAmount = 1;
anim.m_frameOffset = 36;
animations.Push(anim);
anim.m_frameOffset = 37;
animations.Push(anim);
anim.m_frameOffset = 38;
animations.Push(anim);
anim.m_frameOffset = 39;
animations.Push(anim);

//SPRITE_ENEMY_ANIM_YELL;
anim.m_frameOffset = 32;
animations.Push(anim);
anim.m_frameOffset = 33;
animations.Push(anim);
anim.m_frameOffset = 34;
animations.Push(anim);
anim.m_frameOffset = 35;
animations.Push(anim);

// SPRITE_ENEMY_ANIM_ATTACKING2   fall on knees;
anim.m_animationSpeed = 1.0;
anim.m_clamp = true;
anim.m_frameAmount = 4;
anim.m_frameOffset = 40;
animations.Push(anim);
anim.m_frameOffset = 44;
animations.Push(anim);
anim.m_frameOffset = 48;
animations.Push(anim);
anim.m_frameOffset = 52;
animations.Push(anim);
// SPRITE_ENEMY_ANIM_ATTACKING3   stay on knees;
anim.m_animationSpeed = 2.0;
anim.m_clamp = false;
anim.m_frameOffset = 56;
animations.Push(anim);
anim.m_frameOffset = 60;
animations.Push(anim);
anim.m_frameOffset = 64;
animations.Push(anim);
anim.m_frameOffset = 68;
animations.Push(anim);
// SPRITE_ENEMY_ANIM_ATTACKING4   moving crouch;
anim.m_clamp = false;
anim.m_animationSpeed = 0.5;
anim.m_frameAmount = 4;
anim.m_frameOffset = 144;
animations.Push(anim);
anim.m_frameOffset = 148;
animations.Push(anim);
anim.m_frameOffset = 152;
animations.Push(anim);
anim.m_frameOffset = 156;
animations.Push(anim);
// SPRITE_ENEMY_ANIM_ATTACKING5   grenade laucher repeat;
anim.m_animationSpeed = 5.0;
anim.m_clamp = true;
anim.m_frameAmount = 2;
anim.m_frameOffset = 162;
animations.Push(anim);
anim.m_frameOffset = 166;
animations.Push(anim);
anim.m_frameOffset = 170;
animations.Push(anim);
anim.m_frameOffset = 174;
animations.Push(anim);
// SPRITE_ENEMY_ANIM_DYING2;
anim.m_animationSpeed = 1.5;
anim.m_frameAmount = 4;
anim.m_frameOffset = 72;
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 = 76;
anim.m_frameAmount = 1;
anim.m_clamp = true;
animations.Push(anim);
anim.m_frameOffset = 77;
animations.Push(anim);
anim.m_frameOffset = 78;
animations.Push(anim);
anim.m_frameOffset = 79;
animations.Push(anim);
//SPRITE_ENEMY_ANIM_NO_HEAD_DYING2;
anim.m_frameOffset = 80;
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 = 468;
animations.Push(anim);
anim.m_frameOffset = 469;
animations.Push(anim);
anim.m_frameOffset = 470;
animations.Push(anim);
anim.m_frameOffset = 471;
animations.Push(anim);
//SPRITE_ENEMY_ANIM_SLICED_BOTTOM;
anim.m_frameAmount = 1;
anim.m_clamp = true;
anim.m_frameOffset = 500;
animations.Push(anim);
anim.m_frameOffset = 501;
animations.Push(anim);
anim.m_frameOffset = 502;
animations.Push(anim);
anim.m_frameOffset = 503;
animations.Push(anim);
//SPRITE_ENEMY_ANIM_FEET;
anim.m_frameOffset = 88;
anim.m_frameAmount = 1;
anim.m_clamp = true;
animations.Push(anim);
anim.m_frameOffset = 89;
animations.Push(anim);
anim.m_frameOffset = 90;
animations.Push(anim);
anim.m_frameOffset = 91;
animations.Push(anim);
//SPRITE_ENEMY_ANIM_NO_FEET;
anim.m_frameOffset = 92;
anim.m_frameAmount = 1;
anim.m_clamp = true;
animations.Push(anim);
anim.m_frameOffset = 93;
animations.Push(anim);
anim.m_frameOffset = 94;
animations.Push(anim);
anim.m_frameOffset = 95;
animations.Push(anim);

delayKill = 0.025;
//deathAnimDuringDelay = true;
flammable = true;
canBeDamaged = true;
Init(vector(0.96, 1.92, 1.92), 1954, 0, 2, 5, 0);
//life = 3000;

actorHiddenInGame = true;
capsule.enableGravity = false;
capsule.CollisionObjectType = 14;
capsule.SetCollisionResponseToChannel(0, 0);
capsule.SetCollisionResponseToChannel(2, 0);
capsule.SetCollisionResponseToChannel(6, 0);
capsule.SetCollisionResponseToChannel(7, 0);
capsule.SetCollisionResponseToChannel(14, 0);

ai.AddNode(105, -1.0, -1.0, 0);
ai.AddNode(391, -1.0, -1.0, 0); //AI_TYPE_ATTACH_TO_OWNER;
ai.SetLastNodeToRunOnClients();

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(1572);
addGib(1573);
addGib(1574);
addGib(1575);
headGib = 1573;

attackStruct.m_attackAmount = 1;
attackStruct.m_originalAttackAmount = 1;
attackStruct.m_distancePriority = false;
attackStruct.m_pauseTimerAfter = 0.1;
attackStruct.m_reuseTimer = 0.0;
attackStruct.m_reuseTimerOriginal = 1.0;
attackStruct.m_attackRange = 10.0 * cubeSize;
attackStruct.m_attackDelay = 0.4;
attackStruct.m_attackDelayAfterInitial = 0.5;
attackStruct.m_attackSound.m_sound = 949;
attackStruct.m_attackSound.m_volumeMin = 1.0;
attackStruct.m_attackSound.m_volumeMax = 1.0;
attackStruct.m_attackSound.m_pitchMin = 0.95;
attackStruct.m_attackSound.m_pitchMax = 1.05;
attackStruct.m_enemyAttack = 59;
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;
attacks.Push(attackStruct);

playerControlled = true;
friendly = true;
yellTime = 0.3;
runSpeed = 500.0;
stepDelay = 0.48125;
painTreshold = 10;
jumps = false;
flies = false;
passive = true;
state = 0;
headshotMinZPercent = 0.75;
headshotMaxZPercent = 1.0;
headshotHeadInFront = false;
turnSpeed = 270.0;
idleSound.m_sound = -1;
idleSound.m_volumeMin = 0.0;
idleSound.m_volumeMax = 0.0;
yellSound.m_sound = -1;
yellSound.m_volumeMin = 0.0;
yellSound.m_volumeMax = 0.0;
disintegrateSound.m_sound = 4;
//disintegrateSound.m_volumeMin = 1.5;
//disintegrateSound.m_volumeMax = 1.5;
stepSound.m_sound = -1;
stepSound.m_volumeMin = 0.0;
stepSound.m_volumeMax = 0.0;
painSound.m_sound = -1;
//painSound.m_volumeMin = 0.0;
//painSound.m_volumeMax = 0.0;
dieSound.m_sound = -1;
dieSound.m_volumeMin = 0.0;
dieSound.m_volumeMax = 0.0;
//forcedEscapeRange = -8.0 * cubeSize;
//dodgeChance = 0.75;
//teleportDodge = true;
canBeNailed = false;