//SPRITE_TYPE_BOSS4, burying;
enemyAnimations = true;
damagedMaterialOffset = 96;
damagedMaterialLife = 900;

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 = 1.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);

anim.m_animationSpeed = 3.2;
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);

anim.m_frameAmount = 24;
anim.m_animationSpeed = 0.27;
anim.m_frameOffset = 72;
animations.Push(anim);

//pain;
anim.m_frameAmount = 1;
anim.m_frameOffset = 64;
animations.Push(anim);
anim.m_frameOffset = 65;
animations.Push(anim);
anim.m_frameOffset = 66;
animations.Push(anim);
anim.m_frameOffset = 67;
animations.Push(anim);

//yell;
anim.m_animationSpeed = 5.0;
anim.m_clamp = false;
anim.m_frameAmount = 2;
anim.m_frameOffset = 34;
animations.Push(anim);
anim.m_frameOffset = 38;
animations.Push(anim);
anim.m_frameOffset = 42;
animations.Push(anim);
anim.m_frameOffset = 46;
animations.Push(anim);

// SPRITE_ENEMY_ANIM_ATTACKING2;
anim.m_frameAmount = 2;
anim.m_animationSpeed = 10.0;
anim.m_clamp = true;
anim.m_frameOffset = 34;
animations.Push(anim);
anim.m_frameOffset = 38;
animations.Push(anim);
anim.m_frameOffset = 42;
animations.Push(anim);
anim.m_frameOffset = 46;
animations.Push(anim);

// SPRITE_ENEMY_ANIM_ATTACKING3;
anim.m_animationSpeed = 8.0;
anim.m_frameAmount = 2;
anim.m_frameOffset = 56;
animations.Push(anim);
anim.m_frameOffset = 58;
animations.Push(anim);
anim.m_frameOffset = 60;
animations.Push(anim);
anim.m_frameOffset = 62;
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 = 60;
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);

delayKill = 3.65;
deathAnimDuringDelay = true;
flammable = true;
canBeDamaged = true;
Init(vector(1.4, 2.8, 2.8), 1508, 2, 2, 2, 0);
life = 1500;

ai.AddDeathNode(374, 13, 6.0, 300.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 2.0, 0.0, 1.0);
ai.AddDeathNode(57, 10, 130.0, 1.0, 0.0, 0.0, -1.0, 2.0, 0.0, 0.0, 0.0, 0.0);
ai.SetLastDeathNodeToNotRunOnClients();
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(1065);
addGib(1066);
addGib(1067);
addGib(1068);

attackStruct.m_attackAmount = 1;
attackStruct.m_originalAttackAmount = 1;
attackStruct.m_distancePriority = true;
attackStruct.m_pauseTimerAfter = 0.25;
attackStruct.m_reuseTimer = 10.0;
attackStruct.m_reuseTimerOriginal = 10.0;
attackStruct.m_attackRange = 9999.0 * cubeSize;
attackStruct.m_attackDelay = 0.125;
attackStruct.m_attackDelayAfterInitial = 0.0;
attackStruct.m_attackSound.m_sound = 93;
attackStruct.m_attackSound.m_volumeMin = 0.8;
attackStruct.m_attackSound.m_volumeMax = 0.8;
attackStruct.m_attackSound.m_pitchMin = 0.5;
attackStruct.m_attackSound.m_pitchMax = 0.6;
attackStruct.m_enemyAttack = 55;
attackStruct.m_attackAnim = 7;
attackStruct.m_extraAttackAnim = 255;
attackStruct.m_canBeCancelled = false;
attackStruct.m_lineOfSight = false;
attackStruct.m_attacksLeftCancel = 1;
attackStruct.m_attackBeamTime = 0.0;
attackStruct.m_attackBeamTimer = 0.0;
attacks.Push(attackStruct);
attackStruct.m_attackAmount = 1;
attackStruct.m_originalAttackAmount = 5;
attackStruct.m_distancePriority = true;
attackStruct.m_pauseTimerAfter = 0.0;
attackStruct.m_reuseTimer = 3.0;
attackStruct.m_reuseTimerOriginal = 3.0;
attackStruct.m_attackRange = 9999.0 * cubeSize;
attackStruct.m_attackDelay = 0.25;
attackStruct.m_attackDelayAfterInitial = 0.25;
attackStruct.m_attackSound = m_idleSound;
attackStruct.m_attackSound.m_sound = 663;
attackStruct.m_attackSound.m_volumeMin = 1.0;
attackStruct.m_attackSound.m_volumeMax = 1.0;
attackStruct.m_attackSound.m_pitchMin = 0.9;
attackStruct.m_attackSound.m_pitchMax = 1.1;
attackStruct.m_enemyAttack = 56;
attackStruct.m_attackAnim = 2;
attackStruct.m_extraAttackAnim = 255;
attackStruct.m_canBeCancelled = false;
attackStruct.m_lineOfSight = false;
attackStruct.m_attacksLeftCancel = 1;
attackStruct.m_attackBeamTime = 0.0;
attackStruct.m_attackBeamTimer = 0.0;
attacks.Push(attackStruct);
attackStruct.m_attackAmount = 7;
attackStruct.m_originalAttackAmount = 7;
attackStruct.m_distancePriority = false;
attackStruct.m_pauseTimerAfter = 0.0;
attackStruct.m_reuseTimer = 1.0;
attackStruct.m_reuseTimerOriginal = 1.0;
attackStruct.m_attackRange = 6.0 * cubeSize;
attackStruct.m_attackDelay = 0.35;
attackStruct.m_attackDelayAfterInitial = 0.05;
attackStruct.m_attackSound = m_idleSound;
attackStruct.m_attackSound.m_sound = 39;
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.6;
attackStruct.m_enemyAttack = 50;
attackStruct.m_attackAnim = 2;
attackStruct.m_extraAttackAnim = 6;
attackStruct.m_canBeCancelled = true;
attackStruct.m_lineOfSight = true;
attackStruct.m_attacksLeftCancel = 1;
attackStruct.m_attackBeamTime = 0.0;
attackStruct.m_attackBeamTimer = 0.0;
attackStruct.m_genProjType = 1333;
attackStruct.m_genProjZOffset = 0.15 * cubeSize;
attackStruct.m_genProjVel = 5000.0;
attackStruct.m_genProjPitch = 6.0;
attackStruct.m_genProjRecoil = 3.0;
attacks.Push(attackStruct);

yellTime = 1.8;
runSpeed = 800.0;
stepDelay = 0.48125;
painTreshold = 25;
jumps = false;
flies = true;
headshotMinZPercent = 0.75;
headshotMaxZPercent = 1.0;
headshotHeadInFront = false;
turnSpeed = 360.0;
stepSound.m_sound = 19;
idleSound.m_sound = 663;
idleSound.m_volumeMin = 1.4;
idleSound.m_volumeMax = 1.4;
idleSound.m_pitchMin = 0.3;
idleSound.m_pitchMin = 0.4;
yellSound.m_sound = 778;
yellSound.m_volumeMin = 1.0;
yellSound.m_volumeMax = 1.0;
yellSound.m_pitchMin = 1.0;
yellSound.m_pitchMin = 1.0;
painSound.m_sound = 665;
painSound.m_volumeMin = 0.5;
painSound.m_volumeMax = 0.5;
painSound.m_pitchMin = 0.3;
painSound.m_pitchMin = 0.4;
dieSound.m_sound = 779;
dieSound.m_volumeMin = 1.0;
dieSound.m_volumeMax = 1.0;
dieSound.m_pitchMin = 1.0;
dieSound.m_pitchMin = 1.0;
canBeTargeted = false;
reactToSound = false;
seesAllAround = true;
canEscape = true;
infighting = false;
forcedEscapeRange = 5.0 * cubeSize;
showBossHealthBar = true;
enableForceStun = false;
canBeCaptured = false;
canBeNailed = false;